전체 글505 [BOJ] 2116 주사위쌓기 - JAVA 1. 문제 https://www.acmicpc.net/problem/2116 2116번: 주사위 쌓기 첫줄에는 주사위의 개수가 입력된다. 그 다음 줄부터는 한 줄에 하나씩 주사위의 종류가 1번 주사위부터 주사위 번호 순서대로 입력된다. 주사위의 종류는 각 면에 적혀진 숫자가 그림1에 있는 www.acmicpc.net 천수는 여러 종류의 주사위를 가지고 쌓기 놀이를 하고 있다. 주사위의 모양은 모두 크기가 같은 정육면체이며 각 면에는 1부터 6까지의 숫자가 하나씩 적혀있다. 그러나 보통 주사위처럼 마주 보는 면에 적힌 숫자의 합이 반드시 7이 되는 것은 아니다. 주사위 쌓기 놀이는 아래에서부터 1번 주사위, 2번 주사위, 3번 주사위, … 의 순서로 쌓는 것이다. 쌓을 때 다음과 같은 규칙을 지켜야 한다:.. 코딩테스트/BOJ 2022. 2. 26. [BOJ] 1753 최단경로 - JAVA 1. 문제 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 2. 풀이 Node 클래스 implements Comparable한다. 우선순위 큐에서 사용할 수 있도록 하기 위함이다. 가중치 순으로 비교한다. static class Node implement.. 코딩테스트/BOJ 2022. 2. 25. [BOJ] 17144 미세먼지 안녕! - JAVA 1. 문제 https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 이 문제는 링크에 있는 설명보다 더 자세하거나 첨언할 게 없다. 그냥 그대로다. 적힌 모든 것들을 신경 쓰면서 풀어야 한다. 2. 풀이 메인 공기 청정기가 어떤 행에 있는지 위아래로 나눠서 변수에 저장했다. 마지막으로 저장되는 공기청정기가 아래에 있는 것이므로 위의 있는 공기청정기는 아래에서 -1 해서 구했다. 1초마다 먼지가 확산되고->공기청정기가 위아래로 한 번씩 돌아간다. 현재 .. 코딩테스트/BOJ 2022. 2. 25. [JO] 1681 해밀턴 순환회로 - JAVA 1. 문제 http://jungol.co.kr/bbs/board.php?bo_table=pbank&wr_id=954&sca=99&sfl=wr_hit&stx=1681 JUNGOL www.jungol.co.kr 2. 풀이 첫번째를 이미 방문했다고 치고(=회사), cnt와 flag를 1로 넣어서 함수를 호출했다. 기저조건 cnt가 N과 동일하면 끝낸다. 마지막으로 방문한 곳(prev)가 회사로 가는 길이 없다면 바로 종료한다. 지금까지 구한 sum에 회사로 가는 비용을 더해서 전체의 MIN값과 비교해 저장한다. 유도조건 1) 방문한 곳이거나 2) 직전 집에서 i번째 집으로 오는 길이 없다면, 3)지금까지의 sum에 [직전 집에서 i번째 집으로 오는 비용]을 더한 값이 MIN값보다 이미 크다면 탐색하지 않는다... 코딩테스트/ELSE 2022. 2. 25. [BOJ] 17413 단어뒤집기 2 - JAVA 1. 문제 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 태그는 그대로 출력한다. 공백도 그대로 출력한다. 숫자 등 단어는 모두 반대로 출력한다. 2. 풀이 일반 문자들은 모두 stack에 집어넣는다. ' '를 만나면 문자열을 모두 pop시켜서 StringBuilder에 더한다. ''를 만날때까지 그대로 문자열을 더한다. 반복이 모두 끝나면 stack에 남아있는 문자들을 모두 pop시켜서 더한다. import .. 코딩테스트/BOJ 2022. 2. 25. [BOJ] 1697 숨바꼭질 - JAVA 1. 문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동.. 코딩테스트/BOJ 2022. 2. 25. [BOJ] 7569 토마토 - JAVA 1. 문제 https://www.acmicpc.net/problem/7569 7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100, 2 ≤ N ≤ 100, www.acmicpc.net 2022.02.24 - [코딩테스트/BOJ] - [BOJ] 7576 토마토 - JAVA 문제에서 높이(H)만 추가되었다. 2. 풀이 다른 건 전부 2022.02.24 - [코딩테스트/BOJ] - [BOJ] 7576 토마토 - JAVA 와 같고 대신 출력만 달라졌다. 토마토를 입력받을 때마다 카운트를 세서 총 상자에 토마토가 몇개있는지 저장했다. 그리고 토마토가 익.. 코딩테스트/BOJ 2022. 2. 24. [BOJ] 7576 토마토 - JAVA 1. 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 .. 코딩테스트/BOJ 2022. 2. 24. [BOJ] 11399 ATM - JAVA 1. 문제 https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 인하 은행에는 ATM이 1대밖에 없다. 지금 이 ATM 앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는 데 걸리는 시간은 Pi분이다. 줄을 서 있는 사람의 수 N과 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어졌을 때, 각 사람이 돈을 인출하는데 필요한 시간의 합의 최솟값을 구하는 프로그램을 작성하시오. 2. 풀이 두가지 방법으로 풀이했다. 첫 번째.. 코딩테스트/BOJ 2022. 2. 24. [BOJ] 10026 적록색약 - JAVA 1. 문제 https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록), B(파랑) 중 하나를 색칠한 그림이 있다. 그림은 몇 개의 구역으로 나뉘어져 있는데, 구역은 같은 색으로 이루어져 있다. 또, 같은 색상이 상하좌우로 인접해 있는 경우에 두 글자는 같은 구역에 속한다. 그림이 입력으로 주어졌을 때, 적록색약인 사람이 봤을 때와 아닌 사람이 봤을 때 구역의 수를 구하는 프로그램을 작성하시오.. 코딩테스트/BOJ 2022. 2. 24. [BOJ] 15686 치킨배달 - JAVA 1. 문제 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸, 왼쪽에서부터 c번째 칸을 의미한다. r과 c는 1부터 시작한다. 이 도시에 사는 사람들은 치킨을 매우 좋아한다. 따라서, 사람들은 "치킨 거리"라는 말을.. 코딩테스트/BOJ 2022. 2. 24. [BOJ] 16236 아기상어 - JAVA 1. 문제 https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가 www.acmicpc.net N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은.. 코딩테스트/BOJ 2022. 2. 23. 이전 1 ··· 33 34 35 36 37 38 39 ··· 43 다음