Koala - 6기

https://www.acmicpc.net/problem/14502 14502번: 연구소 인체에 치명적인 바이러스를 연구하던 연구소에서 바이러스가 유출되었다. 다행히 바이러스는 아직 퍼지지 않았고, 바이러스의 확산을 막기 위해서 연구소에 벽을 세우려고 한다. 연구소는 크 www.acmicpc.net 문제 해석 이 문제는 바이러스인 2가 상하좌우로 퍼지는데 이를 벽 3개를 생성하여 가장 많은 안전 영역의 크기를 구하는 문제이다. 코드 from collections import deque input = __import__('sys').stdin.readline # Input n, m = map(int, input().split()) arr = [] makeWall = [] for _ in range(n): ..
https://www.acmicpc.net/problem/14267 14267번: 회사 문화 1 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하 www.acmicpc.net 문제분석 분류 DP, 그래프, 트리, bfs-dfs, 트리에서의 DP 문제 설명 영선회사에는 매우 좋은 문화가 있는데, 바로 상사가 직속 부하를 칭찬하면 그 부하가 부하의 직속 부하를 연쇄적으로 칭찬하는 내리 칭찬이 있다. 즉, 상사가 한 직속 부하를 칭찬하면 그 부하의 모든 부하들이 칭찬을 받는다. 모든 칭찬에는 칭찬의 정도를 의미하는 수치가 있는데, 이 수치 또한 부하들에게 똑같이 칭찬 받는..
2999번: 비밀 이메일 (acmicpc.net) 2999번: 비밀 이메일 정인이는 원래 "bombonisuuladici"를 보내려고 했다. 이 메시지는 16글자이므로, 정인이는 1*16, 2*8, 4*4 행렬을 선택할 수 있다. R이 가장 큰 것은 4*4이므로, 4*4를 선택한다. 정인이가 만든 행렬은 다음과 www.acmicpc.net 문제 해석 정인이의 암호 이메일을 해독하는 프로그램 만들기 코드 문제 풀이 문자열을 입력받을 공간과 길이를 입력한다. 행의 길이와 열의 길이를 선언하고, 약수가 짝수개이면 행과 열에 따라 구분되게 하고 약수가 홀수개이면 가운데 약수로 통일한다. 받은 문자열을 해독하기 위해 2차원 r행 c열을 선언한다. 입력받은 문자열 S의 문자 차례대로 하나씩 r행 c열에 삽입한다. ..
https://velog.io/@jay6768/BOJ-Python-1874-스택-수열 Intro 스택을 만들어서 수를 저장하고, 그 스택에서 수를 뽑아내어 주어진 오름차순 수열을 만드는 문제이다. 못 만들면 "NO"를 출력한다. 처음에 문제를 이해하는데 시간이 정말 오래 걸렸다. 스택을 이용해 수열을 만든다는 게 무슨 뜻인지, push와 pop 연산을 언제 수행해야 하는지 한참 고민한 끝에 답을 찾았다. Solution 문제에서 1부터 n까지의 수를 스택에 넣는다고 했다. 그러므로 반복문을 돌며 스택에 수를 1씩 추가한다. 또한 주어진 수열과 같은 수열을 만들어야 하므로, 주어진 수열의 0번째 수와 만들어놓은 스택의 마지막 수를 비교하며 연산을 선택한다. 이때 한 번이라도 주어진 수열의 0번째 수가 스택..
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제 해석 최소 힙, 최대 힙 과 비슷한 문제로 힙을 사용하는 문제이다. 입력으로 정수를 입력받고, 이를 배열에 넣는다. 만약 입력된 수가 0이라면 배열에서 가장 작은 절대값을 가진 수를 출력한다. 만약 배열에 수가 존재하지 않으면 0을 출력한다. 코드 import heapq input = __import__('sys').stdin.readline n = int(input()..
https://www.acmicpc.net/problem/7795 7795번: 먹을 것인가 먹힐 것인가 심해에는 두 종류의 생명체 A와 B가 존재한다. A는 B를 먹는다. A는 자기보다 크기가 작은 먹이만 먹을 수 있다. 예를 들어, A의 크기가 {8, 1, 7, 3, 1}이고, B의 크기가 {3, 6, 1}인 경우에 A가 B를 먹을 www.acmicpc.net A와B를 오름차순으로 정렬해 A와B를 하나씩 비교했다 A가 B보다 작아질때 까지만 count에 1씩 더해나간다 작아지게 되면 남은 B들은 A보다 모두 크므로 더이상 생각할 필요가 없다
18406번: 럭키 스트레이트 (acmicpc.net) 18406번: 럭키 스트레이트 첫째 줄에 점수 N이 정수로 주어진다. (10 ≤ N ≤ 99,999,999) 단, 점수 N의 자릿수는 항상 짝수 형태로만 주어진다. www.acmicpc.net 문제 해석 짝수 자릿수의 수가 주어지면 윗 자릿수 반의 수끼리 더한 값과 아래 자릿수 반의 수끼리 더한 값을 비교하여 같으면 LUCKY를 출력, 같지않으면 READY를 출력한다. 코드 문제 풀이 먼저 N을 받을때 integer가 아닌 문자열로 받고 더할 때마다 integer로 변환시켜주는 방법을 이용했다. integer로 받는다면 각 자릿수를 더하기가 더 어렵기 때문이다. 그 후, 중간 자릿수를 전체 길이에 2를 나눠 알아낸 후 for문을 이용해 윗 자릿수와 ..
https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 문제분석 정수를 입력 받고 이를 배열에 저장받은 다음 0을 입력 받았을 때, 배열에서 절댓값이 가장 작은 값을 pop 하면 되는 문제이다. 단, 0을 입력받았을 때, 배열에 아무것도 없을 경우에는 그냥 0을 출력해야 한다. 입력 되는 정수는 절댓값이 2^31보다 보다 작으며 N은 1보다 크고 100000보다 작은 자연수이다. 또한, 절댓값이 같은 경우 더 작은 값을 출력한다...
https://www.acmicpc.net/problem/1100 1100번: 하얀 칸 체스판은 8×8크기이고, 검정 칸과 하얀 칸이 번갈아가면서 색칠되어 있다. 가장 왼쪽 위칸 (0,0)은 하얀색이다. 체스판의 상태가 주어졌을 때, 하얀 칸 위에 말이 몇 개 있는지 출력하는 프로그램 www.acmicpc.net 문제 해석 흰칸에 놓여져 있는 말(F)이 있다면 그것을 counting 해서 출력해주는 문제이다. 흰칸이 첫번째줄에선 짝수번째에 두번째줄에선 홀수번째에 나타나는것을 고려해주어야 한다. 코드 #include using namespace std; int main(void) { int cnt = 0; char a[8][9]; for (int i = 0; i > a[i]; f..
https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 문제해석 9x9 격자판에 숫자가 있을 때 최댓값을 구하고 그 값이 몇행 몇열에 있는지 출력하는 문제이다. 코드 문제풀이 각 행마다 리스트로 저장하여 2차원리스트에 저장한다. 그 후 m이라는 기준점을 두고 각각의 숫자들을 m과 비교하여 m보다 크면 m에 저장하는 식으로 최댓값을 구한다. 이 과정에서 c,r(행과 열 번호)를 저장하여 최댓값의 위치도 저장한다. for문이 끝나면 최종적으로 최댓값과 위치가 나오게 되고 그..
https://www.acmicpc.net/problem/2346 2346번: 풍선 터뜨리기 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선 www.acmicpc.net 문제 분석 분류 자료 구조(data_structures), 덱(deque) ​ 문제 설명 1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N..
14915번: 진수 변환기 (acmicpc.net) 14915번: 진수 변환기 변환한 n진수의 수를 출력한다. 11~16 진수의 경우 10 이상의 수는 A~F 문자를 사용한다. 예를 들어, 10은 A, 11은 B, 12는 C, 13은 D, 14는 E, 15는 F를 사용한다. www.acmicpc.net 문제 해석 정수 2개를 입력 받아서 진수로 변환하는 프로그램 만들기 코드 문제 풀이 입력 받을 두 정수를 a,b를 나타낸다. 그리고 함수를 이용해서 n진수를 활용하도록 정의한 후, 그에 대한 값을 출력한다.
KauKoala
'Koala - 6기' 카테고리의 글 목록 (2 Page)