2231 - 분해합
난이도: 브론즈 2 날짜: 2023년 2월 7일 상태: Correct 추가 검토 여부: No 알고리즘 : 정수의 성질 solution 입력값의 경계가 백만이므로 모든 경우에 대해 생각해도 시간은 충분하다. 큰 정수의 각 자릿수는 아래 코드처럼 구하면 된다. code #include <iostream> #include <string> using namespace std; int main() { int input; cin >> input; …
2292 - 벌집
난이도: 브론즈 2 날짜: 2023년 2월 7일 상태: Correct 추가 검토 여부: No solution 입력 범위가 완전탐색이 가능한 범위이므로 모든 경우에 대해 조사했다. 벡터 자료구조를 사용해서 이동해야 하는 포인트를 나타내었다. 입력값이 이동 포인트 미만일 경우 이동 포인트 벡터의 인덱스 + 1이 총 움직여야 하는 횟수가 된다. code #include <iostream> #include <vector> using namespace std; int main…
10816 - 숫자 카드 2
난이도: 실버 4 날짜: 2023년 2월 6일 상태: Correct/Retry 추가 검토 여부: Yes solution algorithm헤더의 lower_bound, upper_bound함수를 사용해야 하는 문제였다. 이진탐색으로 원소를 탬색하는 알고리즘이다. 직접 이진탐색을 통해 구현하려 했으나… 실패했다. map자료구조 사용하여 해결할 수도 있다.(시도해볼 것) M에 대한 배열을 구현하지 않고 입력받는 즉시 연산하여 출력하는 방식으로 구현할 수도 있다. code #include &…
10828 - 스택
난이도: 실버 4 날짜: 2023년 2월 6일 상태: Correct 추가 검토 여부: No solution 조건에 맞게 stl stack헤더를 사용하여 구현하였다. code #include <iostream> #include <stack> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; string …
10845 - 큐
난이도: 실버 4 날짜: 2023년 2월 6일 상태: Correct 추가 검토 여부: No solution queue자료구조를 이용해서 시키는 대로 구현하면 된다. code #include <iostream> #include <queue> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; string …
10866 - 덱
난이도: 실버 4 날짜: 2023년 2월 6일 상태: Correct 추가 검토 여부: No solution stl의 deque를 사용하여 문제의 조건에 따라 해결하면 된다. code #include <iostream> #include <deque> using namespace std; int main() { ios::sync_with_stdio(false); cin.tie(NULL); int N; cin >> N; de…
10250 - ACM 호텔
난이도: 브론즈 3 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: No solution 입력된 순서 당 배정될 방의 번호를 계산하는 공식을 만들었다. 공식에 반례가 있어 한번 틀렸다. 예외 처리를 통해 정답 처리 되었다. 솔직히 W값은 필요가 없었는데 왜 입력으로 넣는지가 궁금하다. code #include <iostream> using namespace std; int main() { int testC; int H, W, N; cin…
10814 - 나이순 정렬
난이도: 실버 5 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: Yes solution priority_queue를 사용하여 나이 순으로 정렬했다. priority_queue에 들어가는 구조체인 info를 정의하였다. 나이가 같을 경우 먼저 등록한 순서대로 출력하므로 등록 순서를 나타내는 변수인 idx를 구조체에 추가시켰다. priority_queue는 내림차순 정렬이 기본이고, 나이가 같을 경우 먼저 등록한 순서대로 출력하기 위해서는 cmp구조체를 만들어 …
2609 - 최대공약수와 최소공배수
난이도: 브론즈 1 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: Yes solution 최대공약수, 최소공배수 알고리즘을 묻는 문제였다. 최대공약수, 최소공배수 모두 유클리드 호제법을 사용하여 알고리즘을 구현할 수 있다. 유클리드 호제법 알고리즘을 깜빡해서 검색을 했다. 유클리드 호제법은 두 수중 작은 수로 큰 수를 나눈 나머지와 작은 수의 최대공약수를 재귀적으로 구하는 알고리즘이다. 나머지 값이 0이 될때까지 반복한다. 최소공배수는 두 수의 곱을 최대공약수로 나눈 …
2798 - 블랙잭
난이도: 브론즈 2 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: No solution 100개의 수 중 3개의 수의 합에 대한 경우의 수를 구하는 연산은 200,000보다 작은 수이고, 이는 3중 for문을 돌려도 문제 없이 구현 가능하다. code #include <iostream> using namespace std; int main() { int N, M; cin >> N; cin >> M; int …
4153 - 직각삼각형
난이도: 브론즈 3 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: No solution 그냥 세 수를 입력 받아서 가장 큰 수의 제곱이 다른 두 수의 제곱의 합과 같은지를 비교하면 되는 단순한 문제 pow함수, sort함수의 사용법을 숙지해야 한다. code #include <iostream> #include <cmath> #include <algorithm> using namespace std; int main() { int …
9012 - 괄호
난이도: 실버 4 날짜: 2023년 2월 5일 상태: Correct 추가 검토 여부: Yes solution depth라는 변수를 설정하고, 입력받은 문자열에 대해 왼쪽부터 오른쪽까지 문자를 탐색한다. 좌괄호가 인식되었을 경우 depth를 1만큼 증가시키고, 우괄호가 인식되었을 경우 depth를 1만큼 감소시킨다. 문자열 판별 연산 중 depth가 음수가 된 경우 이는 필요 없는 우괄호가 입력이 더 된 경우이므로 NO를 출력한다. 문자열 판별 연산이 끝난 후 depth가 0이 아닌 경우 필요…
1259 - 팰린드롬수
난이도: 브론즈 1 날짜: 2023년 2월 4일 상태: Correct 추가 검토 여부: Yes solution 숫자를 입력받은 뒤 10을 곱하는 과정을 통해 몇 자릿수인지 알아낸 후 동적 할당을 통해 해당 자릿수만큼의 크기를 가지는 배열을 생성했다. 이 배열의 첫 번째 원소와 마지막 원소를 시작으로, 두 번째 원소와 마지막에서 두 번째 원소 … 순으로 탐색하여 서로 다른 숫자가 있는지 탐색했다. 이를 바탕으로 요구사항에 맞게 출력했다. string으로 입력받은 뒤 algorithm의 reve…
2751 - 수 정렬하기 2
난이도: 실버 5 날짜: 2023년 2월 4일 상태: Correct 추가 검토 여부: Yes solution 입력받은 숫자를 오름차순으로 정렬하기만 하면 된다. priority_queue를 사용하여 정렬하였다. 다른 사람의 해답을 보니 algorithm헤더의 sort함수를 이용하여 문제를 훨씬 간단하게 해결하였다. code #include <iostream> #include <queue> using namespace std; int main() { int N…
2805 - 나무 자르기
난이도: 실버 2 날짜: 2023년 2월 4일 상태: Correct/Retry 추가 검토 여부: Yes solution 문제를 보자마자 1654번 문제와 마찬가지로 이분 탐색을 이용하여 푸는 문제임을 알았다… 그러나… 이분 탐색을 제대로 이해하지 못한 채 priority_queue를 사용하여 처음에 시간초과가 발생하여 오답 이분 탐색의 범위를 잘못 설정한 채 계속 오답 시작점과 끝점 설정을 잘못 설정하였다. 그러나 이분 탐색 분기점 코드의 문제로 의심하고 계속 헛짓거리함 처음 max, mi…