본문 바로가기

Python/코딩 테스트 해설집

(11)
백준 - 1912번 - 연속합[파이썬] 1. 문제 출처 백준 - 1912번: 연속합 문제로 이동하기 우선 링크로 가서 문제를 보도록 하자. 2. 문제 설명 문제 n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하자. 여기서 정답은 12+21인 33이 정답이 된다. 입력 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. 테스트 케이스1 10 10 -4 3 1 5 6 -35 1..
백준 - 1439번 - 뒤집기 [파이썬] 1. 문제의 출처 백준 1439번 뒤집기 문제로 이동하기 2. 문제의 설명 (1) 문제의 설명 다솜이는 0과 1로만 이루어진 문자열 S를 가지고 있다. 다솜이는 이 문자열 S에 있는 모든 숫자를 전부 같게 만들려고 한다. 다솜이가 할 수 있는 행동은 S에서 연속된 하나 이상의 숫자를 잡고 모두 뒤집는 것이다. 뒤집는 것은 1을 0으로, 0을 1로 바꾸는 것을 의미한다. 예를 들어 S=0001100 일 때, 전체를 뒤집으면 1110011이 된다. 4번째 문자부터 5번째 문자까지 뒤집으면 1111111이 되어서 2번 만에 모두 같은 숫자로 만들 수 있다. 하지만, 처음부터 4번째 문자부터 5번째 문자까지 문자를 뒤집으면 한 번에 0000000이 되어서 1번 만에 모두 같은 숫자로 만들 수 있다. 문자열 S가..
프로그래머스 - 탐욕법(Greedy) - 체육복 [파이썬] 1. 문제의 출처 2. 문제의 설명 3. 코드 해설집 1. 문제의 출처 programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 2. 문제의 설명 (1) 기본 문제 설명 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번호의 학생이나 바로 뒷번호의 학생에게만 체육복을 빌려줄 수 있습니다. 예를 들어, ..
프로그래머스 - 스택/큐 - 프린터[파이썬] 1. 문제의 출처 및 설명 2. 문제 풀이 1. 문제의 출처 및 설명 programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr (1) 문제의 설명 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목..
프로그래머스 - 해쉬 - 전화번호 목록 1. 문제의 출처 프로그래머스 - 해쉬 - 전화번호 목록 programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 2. 코드 해답 (1) Best 해답 1 2 3 4 5 6 7 8 9 10 11 def solution(phone_book): answer = True phone_book.sort() for prefix, number in zip(phone_book, phone_book[1:]): if number.startswit..
프로그래머스 - 해쉬 - 완주하지 못 한 선수 1. 문제의 출처 programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 2. 문제의 설명 우선 두개의 리스트가 주어집니다. 첫 번째는 참여자 리스트가 있고, 두 번째는 완주자 리스트가 있습니다. 두 리스트 간 길이가 무조건 1이 차이가 난다고 할 때, 누가 과연 완주를 못 했는지 파악하는 문제입니다. 문제의 함정은 동명이인이 있고, 이중 한 명이 완주하지 못 했을 경우 어떻게 이들을 걸러낼 것인가 입니다. 3..
백준 - 1920번 - 수 찾기 오늘 포스팅에서는 백중 중 1920번 문제 수 찾기를 파이썬으로 풀어보는 시간을 갖도록 한다. 기본적인 문제이니 잘 풀어보길 권장한다. 목차 1. 문제의 출처 - 백준 1920번 2. 백준 1920번 Python 해설 3. 정답 인증 1. 문제의 출처 - 백준 1920번 문제의 출처: 백준 실전 문제 풀이 사이트 이번 문제의 핵심은 내가 원하는 정수가 정말 있는지 판단하는 것이다. 이번 문제의 유형은 탐색과 정렬의 문제라고 보는 것이 맞고, 이것을 어떻게 해결했는지 코딩 테스트 해설을 해보고자 한다. 2. 백준 1920번 Python 해설 이번 문제 풀이의 기본적인 것은 input과 map함수이다. 문제 풀이할 때 핵심적인 것은 for과 if문의 기본적인 제어이다. 1 2 3 4 5 6 7 8 9 10 ..
백준 - 10930번 - SHA 256 1. 문제의 출처 - 백준: SHA-256 문제의 출처로 이동하기 - 백준 SHA (1) SHA-256의 기본 개념 특정 string 값을 받았을 때, 이것을 하나의 key와 value 값을 가진 hash구조로 반환해주는 함수로서, 최대 2256 의 경우수를 반환할 수 있습니다. 이 SHA-256에 관련해서 더 관심이 있으신 분은 아래의 링크를 통해 공부하는 것도 추천드립니다. SHA-256이란? 2. 코드 해답 1 2 3 4 5 6 import hashlib input_data = input() encoded_data = input_data.encode() result = hashlib.sha256(encoded_data).hexdigest() print(result) Colored by Color S..

728x90
반응형