가끔 쓰다 마는 블로그
-
백준
1041. 주사위
문제https://www.acmicpc.net/problem/1041 분석입력 요구 사항:1. N - 12. A, B, C, D, E, F - 1 출력 요구 사항:1. mn - 5개의 면에 쓰여 있는 수의 합의 최솟값 풀이 5개의 면에 쓰여 있는 수의 합의 최솟값을 어떻게 구할까? 처음엔 그냥 "가장 큰 면만 아래로 숨겨서 초대형 주사위를 만들면 되는게 아닌가?" 싶었는데 나의 관찰이 부족하였다. 각 면에서 주사위의 위치에 따라 보이는 면의 개수가 다르다는 것을 알게 되었다. 따라서 일단 특정 면에서 위치 별로 주사위의 면이 몇 개나 보이는지, 또 그런 주사위가 총 몇 개인지 세보았다.그러면 짜잔하고 위와 같이 나온다. 그렇다면 이제 1, 2, 3개의 면이 보일 때 최솟값에 대해 알아보자 1. 면이 1..
-
백준
13460. 구슬 탈출 2
문제 https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 분석 입력 요구 사항: 1. N - 3> p.first >> p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template vector LoadVector(con..
-
백준
21758. 꿀 따기
문제 https://www.acmicpc.net/problem/21758 분석 입력 요구 사항: 1. N - 3 p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (pair& p : V) { p = LoadPair(); } return V; } template vector Load2DVector(const size_t R, const size_t C) { vector V(R, vector(C)); for (v..
-
백준
23970. 알고리즘 수업 - 버블 정렬 3
문제 https://www.acmicpc.net/problem/23970 23970번: 알고리즘 수업 - 버블 정렬 3 4 6 5 1 3 2 -> 4 5 6 1 3 2 -> 4 5 1 6 3 2 -> 4 5 1 3 6 2 -> 4 5 1 3 2 6 -> 4 1 5 3 2 6 -> 4 1 3 5 2 6 -> 4 1 3 2 5 6 -> 1 4 3 2 5 6 -> 1 3 4 2 5 6 -> 1 3 2 4 5 6 -> 1 2 3 4 5 6. 총 11회 교환이 발생하고 일곱 번째 교 www.acmicpc.net 분석 입력 요구 사항: 1. N - 5 e; } return V; } template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (pair& ..
-
백준
17298. 오큰수
문제 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 분석 입력 요구 사항: 1. N - 1=c이면, a>=c이다. 지금 상태에선 NGE(a), NGE(b) 모두 존재하지 않는다. 3. a p.first >> p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template ve..
-
백준
14889. 스타트와 링크
문제 https://www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net 분석 입력 요구 사항: 1. N - 4 p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (pair& p : V) ..
-
백준
28324. 스케이트 연습
문제 https://www.acmicpc.net/problem/28324 28324번: 스케이트 연습 여러분은 주어진 스케이트 코스에서 스케이트를 연습하려고 한다. 이 코스는 시작 지점, $N$개의 중간 지점, 그리고 도착 지점으로 구성되어 있다. 이 연습은 시작 지점에서 $0$의 속력으로 출발 www.acmicpc.net 분석 입력 요구 사항: 1. N - 1> p.first >> p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template vector LoadVector(const size_t SIZE) { vector..
-
백준
6378. 디지털 루트
문제 https://www.acmicpc.net/problem/6378 6378번: 디지털 루트 양의 정수 N의 디지털 루트를 구하려면 N을 이루고 있는 모든 자리수를 더해야 한다. 이때, 더한 값이 한 자리 숫자라면, 그 수가 N의 디지털 루트가 된다. 두 자리 이상 숫자인 경우에는 다시 그 www.acmicpc.net 분석 입력 요구 사항: 1. N - 0= 10: total = sum(int(digit) for digit in str(total)) return total while True: num = input() if num == "0": break print(get_digital_root(num))
-
백준
30676. 이 별은 무슨 색일까
문제 https://www.acmicpc.net/problem/30676 30676번: 이 별은 무슨 색일까 별의 색을 출력한다. 빨간색이면 "Red", 주황색이면 "Orange", 노란색이면 "Yellow", 초록색이면 "Green", 파란색이면 "Blue", 남색이면 "Indigo", 보라색이면 "Violet"을 출력한다. www.acmicpc.net 분석 입력 요구 사항: 1. 파장의 범위 - 380
-
백준
17286. 유미
문제 https://www.acmicpc.net/problem/17286 17286번: 유미 첫째 줄에 유미의 위치, 둘째 줄부터 세 개의 줄에 사람의 위치가 한 줄에 하나씩 주어진다. 위치는 x, y좌표의 순서로 주어지며, 공백으로 구분되어져 있다. (-10 ≤ x, y ≤ 10) 한 위치에 둘 이상의 www.acmicpc.net 분석 입력 요구 사항: 1. 유미의 위치 - -10 p.second; return p; }; template vector LoadVector(const size_t SIZE) { vector V(SIZE); for (T& e : V) { cin >> e; } return V; } template vector LoadVector(const size_t SIZE) { vector..