알고리즘 문제 풀이: 파이썬/BOJ211 [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. [BOJ_18258] 큐 2 문제 링크: https://www.acmicpc.net/problem/18258 18258번: 큐 2 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 내 풀이: Review: 문제의 조건에서 주어진 명령의 수가 꽤 큰 수이기 때문에 input()을 통해 입력을 받는다면 시간초과로 틀리게 된다. 이때는 sys.stdin.readline()을 사용하면 input() 보다 빠르게 입력을 받을 수 있다. Idea: 백준의 다른 큐 구현 문제(https://www.acmicpc.net/problem/10845)와 비.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 8. 3. [BOJ_1676] 팩토리얼 0의 개수 문제 링크: https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net 내 풀이: Review: 내장 모듈을 사용해서 factorial을 구한다. 문자열 슬라이싱을 이용해 해당 문자열의 뒤에서부터 문자를 하나씩 가져와 0이 나올 때 마다 개수(cnt)를 더하고, 0이 아닌 수가 나오면 for 반복문을 종료시키고 개수 cnt를 출력한다. Idea: 입력값으로 주어진 수 n의 팩토리얼 n을 구하고, 해당 수의 뒤에서부터 0이 아닌 수가 나올 때까지 0의 개수를 센다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 31. [BOJ_2720] 세탁소 사장 동혁 문제 링크: https://www.acmicpc.net/problem/2720 2720번: 세탁소 사장 동혁 각 테스트케이스에 대해 필요한 쿼터의 개수, 다임의 개수, 니켈의 개수, 페니의 개수를 공백으로 구분하여 출력한다. www.acmicpc.net 내 풀이: Review: 백준에서는 처음으로 풀어본 그리디 문제였다. 그리디 문제의 대표 유형인 거스름돈 문제여서 어렵지 않게 풀 수 있었다. Idea: divmod() 또는 //, % 연산을 통해 쉽게 풀 수 있다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 30. [BOJ_14490] 백대열 문제 링크: https://www.acmicpc.net/problem/14490 14490번: 백대열 n과 m이 :을 사이에 두고 주어진다. (1 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 29. [BOJ_1974] 스택 수열 문제 링크: https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 처음 제출한 틀린 내 풀이: 통과한 내 풀이: Review: 구현의 아이디어를 떠올리는 것은 아주 어렵지 않은 문제였다. 문제의 요구사항은 이해하고 있어서 계속 틀릴 때 마다 풀 수 있다는 생각으로 구글링을 하지 않고 코드를 계속 고쳤다. 결론적으로 not in으로 stack에 해당 원소가 존재하는지 확.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 29. [BOJ_2161] 카드 1 문제 링크: https://www.acmicpc.net/problem/2161 2161번: 카드1 N장의 카드가 있다. 각각의 카드는 차례로 1부터 N까지의 번호가 붙어 있으며, 1번 카드가 제일 위에, N번 카드가 제일 아래인 상태로 순서대로 카드가 놓여 있다. 이제 다음과 같은 동작을 카드가 www.acmicpc.net 내 풀이: Review: deque을 사용하면 쉽게 해결할 수 있는 문제이다. Idea: 1~N까지의 수를 덱에 넣는다. 덱에서 가장 앞에 있는 원소를 꺼내 출력한다. 그다음 원소를 꺼내 덱의 마지막 원소로 추가한다. 이 과정을 덱에 원소가 하나 남을 때까지 반복한다. 덱에 원소가 하나 남으면 해당 원소를 출력한다. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 29. [BOJ_1919] 애너그램 만들기 문제 링크: https://www.acmicpc.net/problem/1919 1919번: 애너그램 만들기 두 영어 단어가 철자의 순서를 뒤바꾸어 같아질 수 있을 때, 그러한 두 단어를 서로 애너그램 관계에 있다고 한다. 예를 들면 occurs 라는 영어 단어와 succor 는 서로 애너그램 관계에 있는데, occurs www.acmicpc.net 틀린 풀이 1: 틀린 풀이 2 - 런타임 에러(KeyError): 맞은 풀이: Review: 두 번 틀렸을 때 dic1과 dic2에서 각각 key를 뽑아낼 필요 없이 dic1에서만 key를 뽑고 해당 키로 dic1과 dic2에서 알파벳의 개수를 뽑아내면 된다는 것을 확인했다. 해당 부분을 적용해서 풀이를 제출했을 때 런타임 에러가 발생했는데 이 부분은 if 조.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. [BOJ_11328] Strfry 문제 링크: https://www.acmicpc.net/problem/11328 11328번: Strfry C 언어 프로그래밍에서 문자열(string)은 native한 자료형이 아니다. 사실, 문자열은 그저, 문자열의 끝을 표시하기 위한 말단의 NULL이 사용된, 문자들로 이루어진 문자열일 뿐이다. 하지만 프로그래 www.acmicpc.net 내 풀이: Review: 처음에는 C언어의 Strfry 함수의 기능을 구현하려고 함수를 만들까 생각해봤지만, 더 복잡하게 푸는 방법 같아서 for 반복문 안에서 검증을 끝내고 그때마다 Impossible 또는 Possible을 출력하도록 풀이를 생각했다. 처음 문제를 접했을 때 count() 내장 함수를 사용해서 각 알파벳의 개수를 세고, 리스트나 딕셔너리에 저장해.. 알고리즘 문제 풀이: 파이썬/BOJ 2021. 7. 28. 이전 1 ··· 16 17 18 19 20 21 22 다음