https://www.acmicpc.net/problem/27331 27331번: 2 桁の整数 (Two-digit Integer) 2 つの数字 A, B が与えられる. 十の位が A であり,一の位が B である 2 桁の正の整数を出力せよ. www.acmicpc.net 난이도 : 브론즈 5 태그 : 수학, 구현, 사칙연산 설명 일본 여행을 왔습니다. 그동안 열심히 달려온 만큼 잠시 재충전 시간을 가지고 있으나, 그렇다고 해서 1일 1코테를 쉴 수는 없으므로 좀 쉬운 문제 중에서도 일본어 문제 하나를 선택했습니다. 해당 문제는 숫자 두 개가 주어졌을 때, 첫 번째는 십의 자리, 두 번째는 일의 자리 숫자이며, 이 두 숫자를 합한 숫자를 출력하는 것이 목표입니다. 첫 번째 숫자에 10을 곱하고 두 번째 숫자를 더하여..
https://www.acmicpc.net/problem/2573 2573번: 빙산 첫 줄에는 이차원 배열의 행의 개수와 열의 개수를 나타내는 두 정수 N과 M이 한 개의 빈칸을 사이에 두고 주어진다. N과 M은 3 이상 300 이하이다. 그 다음 N개의 줄에는 각 줄마다 배열의 각 행을 www.acmicpc.net 난이도 : 골드 4 태그 : 구현, 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 얼음을 녹이면서 덩어리가 두개가 되는 시점을 찾는 문제입니다. 얼음을 녹이는 구현 부분에 약간의 시뮬레이션 요소가 들어갔다고 볼 수 있을 것 같네요. 얼음이 몇 덩어리인지 확인하는 부분은 DFS / BFS 를 사용할 수 있을 것 같은데, 저는 DFS를 사용해 풀이하였습니다. 접근 방법 1...
https://www.acmicpc.net/problem/1547 1547번: 공 첫째 줄에 컵의 위치를 바꾼 횟수 M이 주어지며, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 컵의 위치를 바꾼 방법 X와 Y가 주어지며, X번 컵과 Y번 컵의 위치를 서로 바꾸는 것 www.acmicpc.net 난이도 : 브론즈 3 태그 : 구현, 시뮬레이션 설명 3개의 컵을 섞어, 공의 최종 위치를 찾는 문제입니다. 첫째 줄에 공이 들어있는 컵의 번호를 출력한다. 공이 사라져서 컵 밑에 없는 경우에는 -1을 출력한다. 이 문장때문에, 공이 사라지는 경우가 있나? 싶었지만, -1을 출력하는 코드가 없어도 잘 작동하는 걸 보니 그냥 장난삼아 넣은 문구인 것 같네요. 소스코드 fun main() = wi..
https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 난이도 : 실버 4 태그 : 수학, 구현, 정렬 설명 Solved.ac 의 문제 난이도 계산 방법을 바탕으로 만든 문제인 것 같네요. 솔브드의 난이도 계산 시스템은 극단적인 값으로 인해 평균이 왜곡되는 것을 막기 위해 절사 평균을 사용하는데요. 단순히 의견 개수 * 0.15 (반올림)개 만큼 양극값을 제거하고 평균을 계산하면 됩니다. 소스코드 fun main() = w..
https://www.acmicpc.net/problem/2615 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 난이도 : 실버 1 태그 : 구현, 브루트포스 설명 다섯개를 연속으로 놓으면 승리하는 오목게임 문제입니다. 단, 육목이 되면 계속 진행합니다. 저는 한 점을 기준으로 오른쪽, 대각선 오른쪽 아래, 아래쪽 세 방향으로 탐색하면서, 같은 색의 돌이 5개 연속이고, 6개 연속이 되지 않으면서, 1칸 이전(왼쪽, 대각선 왼쪽 위, 위쪽)에 돌이 있는지 체크해줬습니다. 1칸 이전에 돌이 있으면 육목이기 때..
https://www.acmicpc.net/problem/20058 20058번: 마법사 상어와 파이어스톰 마법사 상어는 파이어볼과 토네이도를 조합해 파이어스톰을 시전할 수 있다. 오늘은 파이어스톰을 크기가 2N × 2N인 격자로 나누어진 얼음판에서 연습하려고 한다. 위치 (r, c)는 격자의 r행 c www.acmicpc.net 난이도 : 골드 3 태그 : 구현, 그래프 이론, 그래프 탐색, 너비우선탐색, 시뮬레이션, 깊이우선탐색 설명 삼성 기출 문제로 유명한 마법사 상어 시리즈 중 '마법사 상어와 파이어스톰' 문제입니다. 시뮬레이션 문제로써, 1. 파이어스톰을 n번 시전 2. 모든 파이어스톰 시전 후 가장 큰 덩어리 찾기 크게 두 파트로 나눌 수 있습니다. 파이어스톰 시전 과정은 단순 구현이지만 모든..
https://www.acmicpc.net/problem/10818 10818번: 최소, 최대 첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다. www.acmicpc.net 난이도 : 브론즈 3 태그 : 수학, 구현 설명 매 입력을 받을 때 마다 최대, 최솟값을 업데이트하는게 핵심입니다. 단, 입력 범위가 -1,000,000 ~ 1,000,000 까지 주어지므로, 최솟값의 초기값을 1,000,000으로, 최댓값의 초기값을 -1,000,000으로 지정하는게 포인트입니다. 각각의 경계값으로 설정하면 최소한 한 번은 갱신이 일어나기 때문..
https://www.acmicpc.net/problem/6749 6749번: Next in line You know a family with three children. Their ages form an arithmetic sequence: the difference in ages between the middle child and youngest child is the same as the difference in ages between the oldest child and the middle child. For example, their ages c www.acmicpc.net 난이도 : 브론즈 4 태그 : 구현, 수학 설명 아이가 셋 있는 가족이 있습니다. 둘째와 셋째의 나이차이가 첫째와 둘째의 ..
https://www.acmicpc.net/problem/7287 7287번: 등록 첫 줄에 자신이 맞은 문제의 수, 둘째 줄에 아이디를 출력한다. www.acmicpc.net 난이도 : 브론즈 5 태그 : 구현 설명 자신의 아이디와, 현재 맞은 문제 개수를 출력하는 문제로, 개인마다, 현재 맞춘 문제 수 마다 출력이 달라지는 특이한 문제입니다. 그냥 자신의 백준 정보로 들어가, 맞은 문제 개수를 복사한 뒤, 아이디와 함께 출력하면 됩니다. 소스코드 fun main() { println("655") println("yoon6763") } 자신의 현재 맞은 문제 개수, 자신의 아이디를 넣어야만 합니다. 후기 사람마다, 그리고 문제를 푸는 시점의 맞은 문제 개수마다 출력을 달리 해야 했던게 꽤 신기했던 문제..
https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net 난이도 : 골드 5 태그 : 구현, 시뮬레이션 설명 단순 구현 + 시뮬레이션 문제이기에, 저는 큐나 DFS 없이 단순 구현으로 풀었습니다. 문제의 지문을 읽고 그대로 구현하면 되는데, 주의할 점이 몇 가지 있습니다. 로봇은 청소되지 않은 빈 칸이 있을 경우, 일단 반시계 방향으로 회전합니다. 현재 바라보고 있는 방향부터 탐색(X) 일단 왼쪽으로 한..