본문 바로가기

Algorithm (17)

[백준] 10989 - 수 정렬하기 3

[백준] 10989 - 수 정렬하기 3

10989. 수 정렬하기 3 풀이난이도: Bronze I문제 주소: https://www.acmicpc.net/problem/10989문제 풀이아이디어만 떠올리면 굉장히 간단한 문제다주어지는 숫자의 갯수는 10,000,000만개라 수행시간도 부족하고 메모리도 8mb만 주어지기 때문에 입력받는 모든 숫자를 저장할수 조차없다하지만 숫자의 범위는 1~10000이니 배열 1만개만 있으면 들어오는 숫자의 갯수를 세는 식으로 접근하면 정말 쉬운 문제이다근대 이 아이디어 떠올리는게 어려워서 절대로 브론즈1문제는 아닌거 같다예전에 한번 풀었던 문제이지만 오랜만에 봐서 생각해내는데 시간이 좀 걸렸다최종 코드#include #include #include #include #include #include using name..

2026. 3. 8.
백준 - 15829

백준 - 15829

15829. Hashing 풀이난이도: Bronze II문제 주소: https://www.acmicpc.net/problem/15829문제 풀이처음에 문제를 보고 모듈러 연산이 있음에도 어떻게 풀지를 고민하다가 숫자가 엄청 커질거 같으닌까 string이나 vector 를 이용해 수백자리 곱셈에 대응할려고 함수를 짜고있었다 근대 짜다보니 든 의문이 "이런 문제가 겨우 브론즈2일리가 없는데?" 하고 문제를 다시 고민해보닌까 그냥 매 연산에 모듈러 연산을 진행하면 숫자가 커질일이 없다는걸 한참을 고민해서야 깨달았다..... ㅋㅋ거의 4달?5달만에 다시 시작한 알고리즘이다보니 어려운거보다 간단한걸 잊어서 쉬운문제를 어렵게 돌아가서 풀려고 하는 시도가 많은거 같다모듈러 연산이 있다면 숫자가 커질 염려는 하지 않아..

2026. 3. 8.
백준 - 2231

백준 - 2231

2231. 분해합 풀이난이도: Bronze II문제 주소: https://www.acmicpc.net/problem/2231문제 풀이이 문제는 이게 뭐라고 쓸때없이 굉장히 오래 고민했다괜히 뭔가 최대한 딱 맞게 효율적으로 풀어보겠다고 분해합을 탐색하는 구간을 수학적으로 찾아보겠다고 머리 싸매다가 굳이 그럴 필요가 있나? 싶어져서그냥 1 ~ N까지 다 해보는거도 O(n) 수행시간이라 굉장히 효율적이란걸 깨달았다...알고리즘 풀이가 오랜만이라 그런가 겨우 브론즈2에서 이럴지는 몰랐다최종 코드#include #include #include #include #include #include using namespace std;int main() { ios::sync_with_stdio(false); c..

2026. 3. 7.
백준 - 1008

백준 - 1008

1008. A/B 풀이난이도: Bronze V문제 주소: https://www.acmicpc.net/problem/1008문제 풀이백준 새 계정을 파서 문제를 오랜만에 기초부터 다시 풀어보고 있는데 브론즈5에서 틀릴거라곤 상상도 못했는데 이 문제를 한번 틀려버렸다 왜틀렸지 하고 처음에 생각을 해보니 전에도 이문제를 틀렸던 기억이 났다틀린이유그때는 그냥 파이썬으로 제출해서 해결했는데 이번에는 다시 푸는 만큼 왜 틀렸는지 대충 찾아보닌까 c++는 따로 추가 설정을 하지 않으면 실수 출력자리를 6자리로 제한 하는데 이로인해 정밀도 부분에서 오답처리가 된것이였다해결방법실수 출력을 제어할려면 두가지 설정이 필요한데 fixed 와 precision이다.precision(n) 은 출력할 숫자의 자릿수를 n자리로 설정..

2026. 3. 6.
✏️ ⚙️