백준 티어 Platinum IV 달성

백준 티어 플레4 달성을 했습니다.
아직도 실제 실력은 플레4는 커녕 골드 될락말락 한 수준인 듯 하지만...하여간 달성을 했습니다.
앞으로 남은 티어는 14개 (플레에 남은거 3개, 다이아 5개, ...루비 5개?, ......마스터??) 가 있는데, 여기까지 오니 슬슬 다음 티어로 가는게 굉장히 어렵다는게 절실히 느껴집니다.
아마도 정말 많이 가도 다이아 어디선가 멈출 것 같은 그런 느낌이 듭니다.
티어가 오른다고 실력이 늘어난다는 생각은 딱히 가지고 있지 않은데 그냥...재미있으니까 / 기왕이면 높은게... 라는 생각으로 꾸준히 문제 풀고 점수도 올려주고 있습니다.
근래에는 브론즈 문제를 왕창 풀어주었는데 (문제에 오류가 있다고 뜨는 6841번을 빼고 브론즈 4를 싹 다 풀었습니다.) 그래도 이 쯤 되니 브론즈 문제에는 겁먹지 않게는 된 듯 합니다.
기존에는 수학 분야에 편식이 좀 심한 듯 하여, 그래프 관련 문제도 손을 대보고, 자료구조 문제도 손을 대보고, 그리디 문제도 손을 대보고, 기하학...은 수학이긴 하지만 하여간 손을 가볍게 대보았습니다.
플레5 달성 당시보단 조금 더 나아진 듯 싶지만 아직 부족하다고 생각되는 점 / 느낀 점을 하나 둘 적어보면서 앞으로의 방향을 잡아보고자 합니다.

1. 이게 수학과인지 컴공과인지 2

위에서 그래프 문제를 풀었다고 했으나 사실상 그래프를 가장한 수학문제입니다.
물론 문제 풀 때 수학이 중요한걸 점점 더 느끼고는 있지만 그래도 DFS니 BFS니 하는 그런 것들도 풀긴 풀어야겠다...라는 생각이 계속 듭니다.

2. 그래도 이제는 Class 2+

플레5 당시에 Class 2++이든 Class 3이든 얻어야겠다고 생각했는데 진짜 Class 2에 있는 문제를 모두 푸는건 상당히 어려운 일이고 에센셜 문제들은 풀어주어서 2+를 얻었습니다.
스택만 조금 건드릴 줄 알았는데, 이젠 큐니 덱이니 하는 것들도 조금은 건드릴 수 있게 되었습니다.

3. 파이썬이 너무 편하다 2

예전에 파이썬이 정말 "느린가"? 라는 주제의 글을 보았는데, 그 글의 요지는 대강
1. 진짜 빠른거로 코딩하려면 어셈블리로 하던가
2. 대부분은 어셈블리 코드 작성하는 시간이 파이썬 코드 작성하는 시간 + 실행하는 시간보다 길 것
이었습니다. (물론 실제로 C++보다 느리긴 합니다.)
이진탐색도 계속 건드릴때마다 탐색할 것이 무조건 있는 경우 / 없는 경우 / mid를 리턴해야하는지 / mid - 1인지 mid + 1인지 맨날 헷갈리면서 만드는데, 이진탐색도 import해서 그냥 쉽게 할 수 있다는 거에 당황했습니다.
언젠가는 그래도 C++도 같이 병행하긴 할 것 같은데 적응할 수 있을지 모르겠습니다.
(아마도 정수 오버플로우 자체가 어색해서 여차하면 시작하자마자 BIGint 같은 클래스부터 만들고 시작할 것 같습니다.)


플레5 시점에서는 풀었던 문제 티어 Top100에서 가장 높은게 다이아4, 낮은게 실버3(!)이었는데, 이제는 가장 낮은게 골드4가 되었습니다.
골드4 이상에서만 100문제를 풀었다고 하니 그래도 아무것도 안한건 아닌 수준이구나 싶습니다.
플레5 시점에서 푼 문제는 이랬었는데, 플레3 시점에서는 얼마나 달라졌는지 확인해보겠습니다.
플레4 시점의 푼 문제 티어 Top100

1: Diamond IV 1196 잭 바우어
2: Diamond IV 13729 1013 피보나치
3: Diamond V 4149 큰 수 소인수분해
4: Diamond V 10854 Divisions
5: Diamond V 13705 Ax+Bsin(x)=C
6: Diamond V 13926 gcd(n, k) = 1
7: Platinum I 4357 이산 로그
8: Platinum I 5615 아파트 임대
9: Platinum I 7501 Key
10: Platinum I 12728 n제곱 계산
11: Platinum I 12925 Numbers (12728번 문제와 동일해서 레이팅 효력을 상실했습니다.)
11: Platinum I 18613 Decimal Expansion
12: Platinum I 26036 제곱 ㄱㄱ
13: Platinum II 1492 합
14: Platinum II 2554 마지막 팩토리얼 수2
15: Platinum II 9206 나무 말고 꽃
16: Platinum II 10438 페리 수열의 합
17: Platinum II 25974 거듭제곱의 합 1
18: Platinum III 4463 피보나치 수 분석
19: Platinum III 25821 Palindromic Primes
20: Platinum IV 9735 삼차 방정식 풀기
21: Platinum V 1160 Random Number Generator
22: Platinum V 3783 세제곱근
23: Platinum V 11402 이항 계수 4
24: Platinum V 11440 피보나치 수의 제곱의 합
25: Platinum V 13430 합 구하기
26: Platinum V 13977 이항 계수와 쿼리
27: Platinum V 19577 수학은 재밌어
28: Platinum V 24441 행운 수 판정
29: Platinum V 26601 가장 작은 수
30: Gold I 2086 피보나치 수의 합
31: Gold I 4355 서로소
32: Gold I 8031 Weaker Goldbach
33: Gold I 9343 랜덤 걷기
34: Gold I 11238 Fibo
35: Gold I 11401 이항 계수 3
36: Gold I 11525 Farey Sequence Length
37: Gold I 11689 GCD(n, k) = 1
38: Gold I 11778 피보나치 수와 최대공약수
39: Gold I 12850 본대 산책2
40: Gold I 12916 K-Path
41: Gold I 12977 원 위의 점
42: Gold I 13010 h(n)
43: Gold I 13319 가짜 소수
44: Gold I 14289 본대 산책 3
45: Gold I 15791 세진이의 미팅
46: Gold I 16134 조합 (Combination)
47: Gold I 23832 서로소 그래프
48: Gold I 24892 이차 함수
49: Gold I 26653 XOR Hashing
50: Gold II 2749 피보나치 수 3
51: Gold II 7677 Fibonacci
52: Gold II 10978 기숙사 재배정
53: Gold II 11442 홀수번째 피보나치 수의 합
54: Gold II 11443 짝수번째 피보나치 수의 합
55: Gold II 11444 피보나치 수 6
56: Gold II 11524 Immortal Porpoises
57: Gold II 11693 n^m의 약수의 합
58: Gold II 13075 Fibonacci Sequence
59: Gold II 13076 Distinct rational numbers
60: Gold II 14565 역원(Inverse) 구하기
61: Gold II 16891 탄성 충돌
62: Gold II 21094 Discrete Logarithm is a Joke
63: Gold II 21739 펭귄 네비게이터
64: Gold II 22445 Fast Division
65: Gold II 24059 Function
66: Gold II 25823 조합의 합의 합
67: Gold III 1153 네 개의 소수
68: Gold III 1644 소수의 연속합
69: Gold III 7558 제곱잉여
70: Gold III 7881 YAPTCHA
71: Gold III 7894 큰 수
72: Gold III 12727 Numbers (Small)
73: Gold III 13294 역팩토리얼
74: Gold III 14786 Ax+Bsin(x)=C ②
75: Gold III 14905 소수 4개의 합
76: Gold III 15711 환상의 짝꿍
77: Gold III 17268 미팅의 저주
78: Gold III 18132 내 이진트리를 돌려줘!!!
79: Gold IV 1565 수학
80: Gold IV 1630 오민식
81: Gold IV 2133 타일 채우기
82: Gold IV 2226 이진수
83: Gold IV 4233 가짜소수
84: Gold IV 4913 페르마의 크리스마스 정리
85: Gold IV 5095 Matrix Powers
86: Gold IV 5641 겉보기에 쌍둥이 소수
87: Gold IV 6098 Cruel Math Teacher, II
88: Gold IV 6333 Smith Numbers
89: Gold IV 9176 메르센 합성수
90: Gold IV 9663 N-Queen
91: Gold IV 10422 괄호
92: Gold IV 10830 행렬 제곱
93: Gold IV 13172 Σ
94: Gold IV 13250 주사위 게임
95: Gold IV 14881 물통 문제
96: Gold IV 16563 어려운 소인수분해
97: Gold IV 22236 가희와 비행기
98: Gold IV 24726 미적분학 입문하기 2
99: Gold IV 25342 최대 최소공배수
100: Gold IV 25547 신기한 숫자