코딩테스트 준비
[Python] 프로그래머스 Lv2 - 최댓값과 최솟값
🔗 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📂 분류 문자열 구현 💡 풀이 문자열에 포함된 수들의 최댓값과 최솟값을 찾아내는 구현 문제이다. 파이썬으로 푼다면 매우 간단하게 해결할 수 있다. 💻 코드 def solution(s): s = list(map(int, s.split())) return str(min(s)) + ' ' + str(max(s))
[Python] 프로그래머스 Lv2 - 멀리 뛰기
🔗 문제링크 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr 📂 분류 DP 💡 풀이 이 문제는 피보나치수열과 유사하다. 따라서 피보나치수열의 문제를 풀듯이 해결하면 된다. 💻 코드 MOD = 1234567 def solution(n): a, b = 0, 1 for _ in range(n): a, b = b, (a + b) % MOD return b
[Python] 프로그래머스 Lv2 - 땅따먹기
🔗 문제링크 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 📂 분류 DP 💡 풀이 처음에는 단순하게 행의 최댓값과 열이 겹친다면 두 번째로 큰 수를 구하는 방식으로 접근했다. 하지만 이 접근방식은 잘못된 방식이었고 이 문제는 DP로 접근해야 해결할 수 있는 문제였다. 접근방식 현재 값에 같은 열은 밟을 수 없으므로 현재 열을 제외한 이전 행의 최댓값을 더해준다. 💻 코드 def solution(land): for i in range(1, len(land)): for j in range(l..
[Python] 프로그래머스 Lv2 - [3차] n진수 게임 (2018 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - [3차] n진수 게임 N진수 게임 튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다. 숫자를 0 programmers.co.kr 📂 분류 구현 💡 풀이 n진법을 구하는 공식만 알고 있다면 금방 해결할 수 있는 문제이다. 접근방식 2진수부터 16진수까지의 값을 구해야 하기 때문에 num이 n보다 작을 때까지 몫과 나머지를 구한다. 0 ~ t * m까지의 n 진수의 값을 스트링으로 저장한다. 튜브의 차례의 요소를 answer에 저장하고 t개가 채워진다면 반복문을 종료한다. 💻 코드 def convert(num, base): code = "0123456789ABCD..
[Python] 프로그래머스 Lv2 - [3차] 파일명 정렬 (2018 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - [3차] 파일명 정렬 파일명 정렬 세 차례의 코딩 테스트와 두 차례의 면접이라는 기나긴 블라인드 공채를 무사히 통과해 카카오에 입사한 무지는 파일 저장소 서버 관리를 맡게 되었다. 저장소 서버에는 프로그램 programmers.co.kr 📂 분류 구현 정렬 💡 풀이 문자열 파싱 해서 해결하는 문제이다. 접근방식 파일을 한 문자씩 탐색하다가 숫자가 나온다면 현재 인덱스 전까지의 문자열을 head에 저장하고 나머지는 number에 저장을 한다. number 문자열을 탐색하다가 숫자가 아닌 다른 문자가 나온다면 현재 인덱스 전까지의 문자열을 저장하고 number에 저장하고 나머지는 tail에 저장한다. 문제 설명에 tail은 정렬 기준이 아니기 때문에 제외하고 head -> n..
[Python] 프로그래머스 Lv2 - 양궁대회 (2022 KAKAO BLIND RECRUITMENT)
🔗 문제링크 코딩테스트 연습 - 양궁대회 문제 설명 카카오배 양궁대회가 열렸습니다. 라이언은 저번 카카오배 양궁대회 우승자이고 이번 대회에도 결승전까지 올라왔습니다. 결승전 상대는 어피치입니다. 카카오배 양궁대회 운영위원 programmers.co.kr 📂 분류 백트래킹 완전탐색 💡 풀이 친구가 파이썬으로 알고리즘 문제 푸는 것을 보고 파이썬이 편해 보이길래 파이썬으로 풀어보았다. 이 문제는 n의 크기가 10 이하 이므로 백트래킹 + 완전탐색으로 해결할 수 있는 문제이다. 접근 방식 라이언이 점수를 획득할지의 여부를 체크하면서 재귀 함수를 진행한다. 라이언의 최대 점수를 경신하면서 answer에 과녁 점수를 넣어준다. 가장 낮은 점수를 더 많인 경우를 반환해야 하기 때문에 낮은 점수를 기준으로 정렬을 해..