코딩 테스트80 [BOJ_10870] 피보나치 수 5 문제 링크: https://www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net 내 풀이: Review: 재귀를 이용한 피보나치 수를 계산했다. Idea: 문제의 주어진 조건에 따라 피보나치 수를 구현하면 된다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 21. [프로그래머스] 실패율 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이: 참고용 풀이: Review: 내 풀이에서는 실패율을 계산하여 스테이지와 함께 튜플로 리스트에 저장을 했지만, 참고용 풀이에서는 해당 데이터를 딕셔너리를 이용해서 처리했다. 해당 코드로 인해 데이터를 정렬하고 스테이지를 리턴할 때 리스트 컴프리헨션을 이용해 스테이지를 빈 리스트에 저장하는 과정이 추가적으로 들어갔다. 문제를 풀면서 효율적으로 코드를 짜는 것에 대해서 지속적인 고민이 필요하.. 알고리즘 문제 풀이: 파이썬/Programmers 2021. 9. 20. [BOJ_1924] 2007년 문제 링크: https://www.acmicpc.net/problem/1924 1924번: 2007년 첫째 줄에 빈 칸을 사이에 두고 x(1 ≤ x ≤ 12)와 y(1 ≤ y ≤ 31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다. www.acmicpc.net 내 풀이: Review: 약 2달 전에 처음 본 문제인데 당시 어떻게 풀어야 할지 모르겠어서 풀지 않고 넘겼던 문제. 오늘은 꼭 이 문제를 해결해보고 싶어서 연습장을 이용해 해당 요일을 먼저 구해보고 그 과정을 코드로 옮겨서 어렵지 않게 구현할 수 있었다. Idea: 1월 1일과 입력값으로 주어진 월과 일의 차이를 구해서 총일수의 차이를 구한다.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 20. [BOJ_1929] 소수 구하기 문제 링크: https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 내 풀이: Review: '코드를 맞게 짰는데 왜 틀려!' 하는 상황에서 IDE에서 여러 반례를 넣어보며 예상되는 소수 목록이 정확히 출력되는 확인 했다. 어떤 부분이 부족했는지 확인해보니 파이썬에서 for 반복문의 끝 값이 포함되지 않는 것을 처리해주지 않았던 것이 문제였다. 해당 부분을 수정하고 문제를 해결했다. 문제를 풀고 나서 내 코드의 실행 시간이 다른 사람의 풀이보다 짧아서 기분이 좋았다. Idea: 주어.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 20. [BOJ_5622] 다이얼 문제 링크: https://www.acmicpc.net/problem/5622 5622번: 다이얼 첫째 줄에 알파벳 대문자로 이루어진 단어가 주어진다. 단어의 길이는 2보다 크거나 같고, 15보다 작거나 같다. www.acmicpc.net 내 풀이: Review: 내 풀이에서는 다이얼에 걸리는 시간을 미리 딕셔너리를 이용해서 계산을 해두고 값을 꺼내와서 더하는 식이 었는데, 딕셔너리가 아닌 리스트를 이용해서 for 반복문이 돌 때 시간을 각각 더해주는 식으로 구현을 했더라면 딕셔너리를 미리 정의하는데 시간을 조금 더 아낄 수 있을 것 같다는 생각이 들었다. Idea: 1번을 다이얼 걸기 위해서 2초가 필요하므로 2번을 다이얼 건다면 1초가 더 필요해서 3초가 필요하다. 각 다이얼에 1초씩을 미리 더해주고.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 19. [BOJ_1920] 수 찾기 문제 링크: https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 내 풀이: Review: 이분 탐색을 이용하기 전에 정렬된 배열에서 선형 검색으로 원소를 찾았지만 시간 초과가 나는 것을 확인하고 바로 이분 탐색 알고리즘을 이용했다. Idea: 문제의 알고리즘 분류에 있는 힌트를 이용한다면 쉽게 해결할 수 있다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 18. [BOJ_1065] 한수 문제 링크: https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 www.acmicpc.net 내 풀이: Review: 이 문제는 약 3달 전에 4번 제출을 했으나 모두 틀렸다. 문제에서 주어진 예제의 값은 정확히 나오는데 틀리기만 해서 다음에 다시 풀자고 생각하고 넘어갔다. 오늘 기존의 코드를 점검하면서 틀리게 만드는 부분을 찾았고, 해당 부분의 수정 및 코드를 정리하여 제출했더니 맞을 수 있었다. 문제를 풀면서 '맞게 짰는데 왜 틀려?' 하는 순간이 올 때는 일단 넘어가고 나중.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 18. [BOJ_4673] 셀프 넘버 문제 링크: https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 내 풀이: 개선된 내 풀이: Review: 백준의 '단계별로 풀어보기' 탭에서 문제의 분류가 함수로 되어 있어서 처음 풀이를 할 때 함수를 이용해서 풀이했다. 문제를 풀고 나서 내 코드와 다르 사람의 코드를 비교하면서 굳이 사용할 필요가 없는 변수는 삭제하고, 변수명을 보다 이해하기 쉽게 변경해서 위의 개선된 풀이를 만들었다. 문제 풀.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 18. [Level 1] 완주하지 못한 선수 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42576 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 내 풀이: 참고용 풀이: Review: 정확성 테스트까지 풀이하는 것은 어렵지 않았지만, 효율성 테스트에서 계속 통과를 못 했는데 문제의 카테고리를 보고 파이썬의 딕셔너리를 이용해서 풀이했다. 문제를 풀고 나서 다른 사람의 풀이를 확인했는데 Counter()와 연산을 통해서 아주 간단히 구현한 것을 확인하니 재미있기도 하고 부족한.. 카테고리 없음 2021. 9. 3. [프로그래머스] 이상한 문자 만들기 문제 링크: https://programmers.co.kr/learn/courses/30/lessons/12930 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 풀이: Review: 문제에서 주어진 요구사항대로 구현하는 것이 어렵지 않은 문제였다. 하지만 IDE에서는 결과가 제대로 나오는 것 같은데 제출하기만 하면 통과하지 못했다. 작성한 코드를 계속 디버깅하다가 문제점을 확인했다. 기존의 코드는 이상한 문자를 만들고 바로 answer를 리턴해줬는데 이 부분에서 잘못된 부분이 있었다. 단어를 대소문자로 변경한 뒤 한 단어가 끝날 때 마다 공백을 넣어준.. 알고리즘 문제 풀이: 파이썬/Programmers 2021. 9. 3. 이전 1 2 3 4 5 6 7 8 다음