백준199 [BOJ_17413] 단어 뒤집기 2 문제 링크: https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 내 풀이: Review: 문제의 테스트 케이스가 많고, 해당 테스트 케이스만 통과하면 문제를 맞을 수 있는 것 같다. 크게 어려운 문제는 아니고 경우의 수를 나눠서 해당 경우를 어떻게 처리하면 될지 생각해보면 짧은 시간 안에 구현할 수 있는 문제였다. Idea: 두 개의 리스트와 파이썬의 내장함수를 이용해서 풀이했다. extend()를 사용하는 것은 처.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 24. [BOJ_5397] 키로거 문제 링크: https://www.acmicpc.net/problem/5397 5397번: 키로거 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 한줄로 이루어져 있고, 강산이가 입력한 순서대로 길이가 L인 문자열이 주어진다. (1 ≤ L ≤ 1,000,000) 강산이가 백스페이스를 입 www.acmicpc.net 내 풀이: Review: 문제를 풀고 나면 항상 백준에서 다른 사람의 풀이와 내 풀이를 비교해본다. 이 문제도 다른 사람의 풀이를 확인했는데, 앞에서 3페이지 정도만 확인했는데도 패캠의 알고리즘 강의에서 나온 풀이와 거의 똑같았다. 변수명도 안바꾼 풀이도 많았고, 변수명을 아주 조금만 수정하여 제출한 풀이가 생각보다 많아서 다른 사람의 풀이를 분석하려는 나에게는 조금 아쉬움이 .. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 22. [BOJ_1966] 프린터 큐 문제 링크: https://www.acmicpc.net/problem/1966 1966번: 프린터 큐 여러분도 알다시피 여러분의 프린터 기기는 여러분이 인쇄하고자 하는 문서를 인쇄 명령을 받은 ‘순서대로’, 즉 먼저 요청된 것을 먼저 인쇄한다. 여러 개의 문서가 쌓인다면 Queue 자료구조에 www.acmicpc.net 내 풀이: Review: 내 풀이에서는 큐를 구현하기 위해 파이썬의 내장 함수인 deque를 이용했고, M에 해당하는 원소를 저장하기 위해 tmp라는 별도의 deque에 M번째 원소에 1을 할당했다. Queue와 tmp를 확인하면서 M에 해당하는 원소를 출력하면 프린터에서 출력된 문서의 개수(count)를 출력하면서 반복문을 종료해서 문제를 해결했다. 해당 문제를 풀이하고 패스트 캠퍼스의.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 9. 22. [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. [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. 이전 1 ··· 15 16 17 18 19 20 다음