분류 전체보기505 [BOJ] 3109 빵집 - JAVA 1. 문제 https://www.acmicpc.net/problem/3109 3109번: 빵집 유명한 제빵사 김원웅은 빵집을 운영하고 있다. 원웅이의 빵집은 글로벌 재정 위기를 피해가지 못했고, 결국 심각한 재정 위기에 빠졌다. 원웅이는 지출을 줄이고자 여기저기 지출을 살펴보던 www.acmicpc.net 빵집이 있는 곳은 R*C 격자로 표현할 수 있다. 첫째 열은 근처 빵집의 가스관이고, 마지막 열은 원웅이의 빵집이다. 원웅이는 가스관과 빵집을 연결하는 파이프를 설치하려고 한다. 빵집과 가스관 사이에는 건물이 있을 수도 있다. 건물이 있는 경우에는 파이프를 놓을 수 없다. 가스관과 빵집을 연결하는 모든 파이프라인은 첫째 열에서 시작해야 하고, 마지막 열에서 끝나야 한다. 각 칸은 오른쪽, 오른쪽 위 대.. 코딩테스트/BOJ 2022. 2. 18. [BOJ] 9663 N-Queen - JAVA 1. 문제 https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. 2. 풀이 한 열에 한 개만 놓을 수 있으므로 1차원 배열로 관리한다. 해당 열에 방문했다면 true, 아니면 false 한 대각선에도 한 개만 놓을 수 있으므로 오른쪽, 왼쪽 대각선도 1차원 배열로 관리한다. 번호는 그림과 같은.. 코딩테스트/BOJ 2022. 2. 18. [BOJ] 1992 쿼드트리 - JAVA 1. 문제 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 주어진 영상이 모두 0으로만 되어 있으면 압축 결과는 "0"이 되고, 모두 1로만 되어 있으면 압축 결과는 "1"이 된다. 만약 0과 1이 섞여 있으면 전체를 한 번에 나타내지를 못하고, 왼쪽 위, 오른쪽 위, 왼쪽 아래, 오른쪽 아래, 이렇게 4개의 영상으로 나누어 압축하게 되며, 이 4개의 영역을 압축한 결과를 차례대로 괄호 안에 묶어서 표현한다 2. 풀이 주어진 영상 .. 코딩테스트/BOJ 2022. 2. 16. [BOJ] 2980 도로와 신호등 - JAVA 1. 문제 2980번: 도로와 신호등 상근이는 트럭을 가지고 긴 일직선 도로를 운전하고 있다. 도로에는 신호등이 설치되어 있다. 상근이는 각 신호등에 대해서 빨간 불이 지속되는 시간과 초록 불이 지속되는 시간을 미리 구해왔 www.acmicpc.net 상근이는 트럭을 가지고 긴 일직선 도로를 운전하고 있다. 도로에는 신호등이 설치되어 있다. 상근이는 각 신호등에 대해서 빨간 불이 지속되는 시간과 초록 불이 지속되는 시간을 미리 구해왔다. (빨강색과 초록색 불빛은 무한히 반복된다) 상근이의 트럭이 도로에 진입했을 때, 모든 신호등의 색상은 빨간색이고, 사이클이 막 시작한 상태이다. 상근이는 1초에 1미터를 움직인다. 신호등의 색상이 빨간색인 경우에는 그 자리에서 멈추고 초록색으로 바뀔때 까지 기다린다. 상.. 코딩테스트/BOJ 2022. 2. 16. [SWEA] 4012 요리사 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 식재료 i를 식재료 j와 같이 요리하게 되면 발생하는 시너지 Sij의 정보가 주어지고, 가지고 있는 식재료를 이용해 A음식과 B음식을 만들 때, 두 음식 간의 맛의 차이가 최소가 되는 경우를 찾고 그 최솟값을 정답으로 출력하는 프로그램을 작성하라. 2. 풀이 메인 static int min, N, halfN; static int[][] items; public static void main(String[] args) throws IOException { BufferedReader in = new BufferedReader(new InputStreamRe.. 코딩테스트/SWEA 2022. 2. 16. [SWEA] 5644 무선충전 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 지도는 10*10 크기다. 배터리충전기(BC) 위치, 충전범위, 성능이 주어진다. (1,1)위치와 (10,10)위치에 한 사람씩 있고, 1초에 한 번씩 M초동안 움직이는 동안 BC의 충전 범위 안에 들어갈 때 접속한 BC의 성능만큼 충전할 수 있다. 한 BC에 두 명의 사용자가 접속한 경우, 접속한 사용자의 수만큼 충전양을 균등하게 분배한다. 두 지점 사이의 거리는 |Xa-Xb|+|Ya-Yb|로 구한다. 2. 풀이 BC, Location 클래스 BC, Location 클래스를 만들었다. 굳이 만들지 않아도 되는데, 배열로 하다간 너무 복잡해서 헷갈릴까봐.. 코딩테스트/SWEA 2022. 2. 16. [BOJ] 1074 Z - JAVA 1. 문제 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 2. 풀이 재귀함수를 이용한다. 0. n==0이라면 2의 0제곱, 즉 1이므로 함수를 종료한다. 1. r,c가 둘 다 절반보다 크다면 점이 4구역에 있는 경우이므로 나머지 세 면적을 더하고 4구역을 호출한다. 2. r만 절반보다 크다면 3구역에 있는 경우이므로 나머지 두 면적을 더하고 3구역을 호출한다. 3. c만 절반보다 크다면 2구역에 있는 경우이므로 나머지 한 면적을 더하.. 코딩테스트/BOJ 2022. 2. 16. [BOJ] 10709 기상캐스터 - JAVA 1. 문제 https://www.acmicpc.net/problem/10709 10709번: 기상캐스터 출력은 H 행으로, 각 행에는 공백으로 구분된 W 개의 정수를 출력한다. 출력의 i 번째 행 j 번째 정수 (1 ≦ i ≦ H, 1 ≦ j ≦ W) 는, 지금부터 몇 분후에 처음으로 구역 (i, j) 에 구름이 뜨는지를 표시 www.acmicpc.net 2. 풀이 한줄한줄 입력받을 때마다 cloud를 -1로 초기화했다. 중간에 구름을 만난다면 그 구름 인덱스를 cloud에 저장한다. 구름이 아닌데 cloud가 아직 -1이라면 -1을 출력한다. 구름이 아니고 cloud가 -1이 아니라면 현재 인덱스-cloud를 출력한다. import java.io.BufferedReader; import java.io... 코딩테스트/BOJ 2022. 2. 16. [BOJ] 2527 직사각형 - JAVA 1. 문제 https://www.acmicpc.net/problem/2527 2527번: 직사각형 4개의 줄로 이루어져 있다. 각 줄에는 8개의 정수가 하나의 공백을 두고 나타나는데, 첫 4개의 정수는 첫 번째 직사각형을, 나머지 4개의 정수는 두 번째 직사각형을 각각 나타낸다. 단 입력 직사 www.acmicpc.net 2. 풀이 겹치지않음->점->선분->겹침 순으로 파악하면 된다. import java.io.*; import java.util.*; public class BOJ_2527_직사각형 { private static int[] points; public static void main(String[] args) throws IOException { BufferedReader in = new B.. 코딩테스트/BOJ 2022. 2. 16. [BOJ] 2559 수열 - JAVA 1. 문제 https://www.acmicpc.net/problem/2559 2559번: 수열 첫째 줄에는 두 개의 정수 N과 K가 한 개의 공백을 사이에 두고 순서대로 주어진다. 첫 번째 정수 N은 온도를 측정한 전체 날짜의 수이다. N은 2 이상 100,000 이하이다. 두 번째 정수 K는 합을 구하기 www.acmicpc.net N개의 수열 중 K만큼 연속적인 합을 구한 뒤, 그 중 가장 큰 합을 출력한다. 2. 풀이 1. sum, MAX 변수를 만들고 숫자를 받아가면서 sum과 queue에 더한다. 2. queue의 사이즈가 5가 되었다면 최대값을 다시 비교하고, 다음 값 비교를 위해 sum에서 큐의 가장 앞 원소(front)를 뺀다. 3. 최대값을 출력한다. import java.io.*; im.. 코딩테스트/BOJ 2022. 2. 14. [SWEA] 6808 규영이와 인영이의 카드게임 - JAVA 1. 문제 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1~18까지의 카드를 하나씩 내며 게임을 한다. 한 라운드에는 한 장씩 카드를 낸 다음 두 사람이 낸 카드에 적힌 수를 비교해서 점수를 계산한다. 이긴 사람이 두 카드의 합만큼 점수를 얻고, 진 사람은 아무 점수도 얻을 수 없다. 아홉라운드를 끝내고 총점을 따졌을 때, 총점이 더 높은 사람이 이기는 게임이다. 규영이가 낼 카드의 순서와 종류는 이미 정해져있을 때, 규영이가 이기는 경우와 지는 경우가 총 몇가지인지 구한다. 2. 풀이 메인함수 inputCards = 규영이 카드 isSelected = 1~18까지의 카드. 카드번호로 바로 접근하기 위해 1.. 코딩테스트/SWEA 2022. 2. 14. [BOJ] 2304 창고 다각형 - JAVA 1. 문제 https://www.acmicpc.net/problem/2304 2304번: 창고 다각형 첫 줄에는 기둥의 개수를 나타내는 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 그 다음 N 개의 줄에는 각 줄에 각 기둥의 왼쪽 면의 위치를 나타내는 정수 L과 높이를 나타내는 정수 H가 한 개의 www.acmicpc.net 창고의 지붕을 다음과 같이 만든다. 지붕은 수평 부분과 수직 부분으로 구성되며, 모두 연결되어야 한다. 지붕의 수평 부분은 반드시 어떤 기둥의 윗면과 닿아야 한다. 지붕의 수직 부분은 반드시 어떤 기둥의 옆면과 닿아야 한다. 지붕의 가장자리는 땅에 닿아야 한다. 비가 올 때 물이 고이지 않도록 지붕의 어떤 부분도 오목하게 들어간 부분이 없어야 한다. 2. 풀이 먼저 x축.. 코딩테스트/BOJ 2022. 2. 14. 이전 1 ··· 36 37 38 39 40 41 42 43 다음