
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 난이도 : 골드 5 태그 : 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 인풋값으로 받는 맵 정보를 두 개의 배열로 받아 적록색약이면 R과 G를 같은 색상으로 판단해 DFS / BFS를 돌리고, 적록색약이 아닌 사람이면 그대로 DFS / BFS를 돌려 풀 수 있는 문제입니다. DFS와 BFS 중 어느 것을 사용해도 무방하나, 본 포스팅에서는 DFS를 사용하였습니다. ..

https://www.acmicpc.net/problem/1303 1303번: 전쟁 - 전투 첫째 줄에는 전쟁터의 가로 크기 N, 세로 크기 M(1 ≤ N, M ≤ 100)이 주어진다. 그 다음 두 번째 줄에서 M+1번째 줄에는 각각 (X, Y)에 있는 병사들의 옷색이 띄어쓰기 없이 주어진다. 모든 자리에는 www.acmicpc.net 난이도 : 실버 1 태그 : 그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색 설명 전형적인 그래프 탐색 문제입니다. 그래프 탐색 알고리즘은 DFS(깊이 우선 탐색)과 BFS(넓이 우선 탐색)으로 풀 수 있는 문제입니다. DFS와 BFS중 어느 걸 사용하던 무방하지만, 저는 DFS를 사용하도록 하겠습니다. 소스코드 var n = 0 var m = 0 var c..

https://www.acmicpc.net/problem/2609 2609번: 최대공약수와 최소공배수 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다. www.acmicpc.net 난이도 : 브론즈 1 태그 : 수학, 정수론, 유클리드 호제법 유클리드 호제법 최소공배수와 최대공약수는 유클리드 호제법을 이용해 간단히 구할 수 있습니다. 최대 공약수 (GCD, Greatest Common Divisor) 유클리드 호제법은 명시적으로 기록된 가장 오래된 알고리즘으로써, 위키피디아에서는 이 알고리즘을 아래와 같이 설명하고 있습니다. 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약..

https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net 난이도 : 실버 2 태그 : 브루트포스, 구현 설명 고르지 못한 땅을 평탄화 하는 문제입니다. 처음에는 높은 블록을 떼서 아래쪽에 넣는 방법을 생각해 봤으나... 한참의 삽질 끝에 마침내 브루트포스 문제인걸 깨달았습니다. 블록의 최소 높이부터 최대 높이까지 모든 경우의 수를 확인하여 평탄화가 된 케이스를 찾으면 됩니다. 코드 val br = BufferedReader(InputStreamRead..

https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴 www.acmicpc.net 난이도 : 골드 5 태그 : 구현, 시뮬레이션 설명 구현 문제로써, 문제의 지문을 읽고 그대로 구현하여 풀었던 문제입니다. 각 톱니바퀴(gear라는 이름으로 변수명을 지었습니다) 는 LinkedList를 이용하여 구현하였고, 4개의 톱니가 존재하므로 길이가 4인 배열을 생성 및 초기화 하였습니다. val gear = Array(4) { LinkedList() } 입력값 저장 for (i in ..

https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 난이도 : 실버 4 알고리즘 분류 : 자료구조, 스택 스택(Stack) 자료구조를 이용하여 풀 수 있는 문제 입니다. 소스코드 import java.io.BufferedReader import java.io.InputStreamReader lateinit var stack: IntArray var ptr = -1 fun main() { val br = BufferedReader(..

백준 2470 두 용액 난이도 : 골드 5 태그 : 정렬, 이분 탐색, 투 포인터 문제 링크 : https://www.acmicpc.net/problem/2470 2470번: 두 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 주어진다. 이 수들은 모두 -1,000,000,000 이상 1,000,00 www.acmicpc.net 소스코드 import kotlin.math.abs fun main() { val testCase = readLine()!!.toInt() val nums = readLine()!!.toString().trim().split(" ").map { i -> i.toInt()..

문제 링크 https://devdange.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%8B%A0%EA%B3%A0-%EA%B2%B0%EA%B3%BC-%EB%B0%9B%EA%B8%B0-for-Java-HashMap-%EB%A5%BC-%EC%A0%81%EC%9A%A9%ED%95%9C-%ED%92%80%EC%9D%B4 [프로그래머스] 신고 결과 받기 for Java - HashMap 를 적용한 풀이 문제 바로가기 코딩테스트 연습 - 신고 결과 받기 문제 설명 신입사원 무지는 게시판 불량 이용자를 신고하고 처리 결과를 메일로 발송하는 시스템을 개발하려 합니다. 무지가 개발하려는 시스 devdange.tistory.com ..