소개
- 알고리즘 블로그 운영중
- 프로그래밍 대회 다수 수상
- ICPC Seoul Regional 3회 진출 (2021, 2022, 2023)
- 2024 ICPC Asia Pacific Championship 진출
강의
전체1수강평
- 훌륭한 강의 감사합니다
이종운
2024.10.16
1
게시글
질문&답변
2024.10.22
백준 등급
안녕하세요 다라미님! 제 백준 티어는 플래티넘1 입니다! 대회 준비를 할 때에는 팀 단위로 문제를 푸는 경우가 많아, 팀 단위로 푼 문제까지 고려한다면 다이아4 정도라고 생각해주시면 될 거 같습니다. [실력과 백준 티어의 관계] 실력이 높을 수록 백준 티어가 높은 것은 맞지만, 백준 티어가 높다고 잘하는 것은 아닙니다. 오히려 백준 티어를 높이는 것만을 목표로 삼는다면 문제를 곱씹어 보는 과정을 간과할 수도 있습니다. 따라서, 본인의 수준에 맞는 문제를 풀며 점점 쉬워진다면 문제의 수준을 높이며 티어를 올리는 것이 실력을 향상시키는 데에는 더 도움이 될 것입니다. 실제로 저 같은 경우에도, 티어를 올리는 데에 집중할 때보다 제 수준에 맞는 문제를 풀고 천천히 티어를 올릴 때 실력이 더 많이 늘었습니다. 알고리즘을 공부하는 초기에는 티어를 높이는 것만을 목표로 하다가, 실력을 키우기 위해서 문제를 푸는 것이 아닌 티어를 올리기 위해 문제를 푸는 경우를 많이 보아 주저리 주저리 쓴 것 같습니다. 또 궁금하신 점 있으시면 언제든 질문 부탁드립니다. 감사합니다. :)
- 0
- 1
- 23
질문&답변
2024.10.13
11726 런타임 질문
안녕하세요. 타이거님! N에 상관없이 기본적으로 dp[0]과 dp[1]을 초기값 처리할 때 접근하기 때문입니다. dp 배열의 크기를 N + 1로 한다면 N = 0일 때, dp[1]에 접근하지 못하기 때문에 런타임 에러가 나게 됩니다. 즉, N = 0일 때도 dp[1]까지 접근할 수 있게 하기 위해서 dp 배열의 크기를 N + 2로 했다고 생각하시면 됩니다. 비슷한 상황에 대한 설명이 섹션2의 '재귀함수 이해하기 [문제풀이] : BOJ 10870' 강의의 4:34 - 5:02 부분 에 설명이 나와 있으니 참고하면 될 것 같습니다. 추가로 해당 부분에 대한 설명을 강의 자료에 추가해 놓겠습니다. 또 궁금하신 점 있으시면 언제든 질문 부탁드립니다. 감사합니다. :)
- 0
- 2
- 43
질문&답변
2024.10.13
브루토 포스 백준 1342 질문
안녕하세요. Taejin Kim님! 공유해주신 코드를 보니, ans는 행운의 문자열을 담는 리스트로 어떤 문자열이 행운의 문자열이고 ans에 존재하지 않는다면 계속 추가하는 형식의 풀이인 걸로 확인이 됩니다. element in list 의 시간 복잡도는 list 의 크기 만큼의 연산이 걸린다고 생각하시면 됩니다. 따라서 행운의 문자열의 최대 개수는 10!으로 약 360만이고, 행운의 문자열 1개를 추가할 때마다 ans에 해당 문자열의 존재 여부를 in 문법을 통해서 판단하기 때문에 최악의 경우에 1 + 2 + 3 + ... + 360만 의 연산횟수가 걸리게 됩니다. 이런 이유로 시간초과가 나게 되는 것입니다. 그러므로 좀 더 효율적으로 행운의 문자열의 개수를 세야 하며, 그러한 방법은 백트레킹을 이용한 풀이 또는 같은 것이 있는 순열을 이용한 풀이 이며, 이는 강의를 참고해 주시면 감사하겠습니다. 또 궁금하신 점 있으시면 언제든 질문 부탁드립니다. 감사합니다. :)
- 0
- 2
- 45
질문&답변
2024.10.07
섹션2 기본알고리즘
안녕하세요. 아요님! 강의에서 입력한 값을 잘못 인지하신 것 같습니다. 얼핏 보면 1 3으로 보여 1과 3을 입력한 것으로 보이지만, 앞에 있는 1은 첫 번째 라인을 나타내는 1입니다. 따라서 실제로 입력한 값은 3 뿐이기에 input()에는 3만 들어간다고 보시면 됩니다. 파이썬 코드가 문법을 기반으로 동작하는건 에디터에 상관없이 동일하다고 보시면 됩니다. 또 궁금하신 점 있으시면 언제든 질문 부탁드립니다. 감사합니다. :)
- 0
- 2
- 65
질문&답변
2024.10.03
런타임 에러: 메모리
안녕하세요. 타이거님! 공유주신 코드는 잘 짜셨으나, n이 0인 경우를 고려하지 않으셨습니다. 다음과 같이 n이 0인 경우를 처리하는 조건을 추가해주시면 정답 처리 됩니다. import sys input1 = int(sys.stdin.readline()) def fibo(n, n_1, n_2): if n == 0: return n_2 if n == 1: return n_1 else: return fibo(n-1, n_1+n_2, n_1) result = fibo(input1, 1, 0) print(result) 또 궁금하신 점 있으시면 언제든 질문 부탁드립니다. 감사합니다. :)
- 0
- 1
- 41