전체 글 36

백준 18111번 마인크래프트 [Python]

문제 출처: https://www.acmicpc.net/problem/18111 18111번: 마인크래프트 팀 레드시프트는 대회 준비를 하다가 지루해져서 샌드박스 게임인 ‘마인크래프트’를 켰다. 마인크래프트는 1 × 1 × 1(세로, 가로, 높이) 크기의 블록들로 이루어진 3차원 세계에서 자유롭게 www.acmicpc.net Sol) import sys input = sys.stdin.readline row, col, inventory = map(int, input().split()) blocks = [] for i in range(row): blocks += list(map(int, input().split())) min_time = 500*500*2*257 ans_height = blocks[0] b..

BOJ 2023.01.08

백준 9375번 패션왕 신해빈 [Python]

문제 출처: https://www.acmicpc.net/problem/9375 9375번: 패션왕 신해빈 첫 번째 테스트 케이스는 headgear에 해당하는 의상이 hat, turban이며 eyewear에 해당하는 의상이 sunglasses이므로 (hat), (turban), (sunglasses), (hat,sunglasses), (turban,sunglasses)로 총 5가지 이다. www.acmicpc.net Sol1) 딕셔너리의 value를 리스트로 추가하지 않은 방법 import sys for i in range(int(sys.stdin.readline())): disguise = dict() n = int(sys.stdin.readline()) for j in range(n): clothing..

BOJ 2022.10.02

백준 1002번 터렛 [JAVA]

문제 출처: https://www.acmicpc.net/problem/1002 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net Sol) import java.io.*; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception { int circle1[] = new int[3]; //0번째 인덱스 = x좌표, 1번째 인덱스 = y좌표, 2번째 인덱스 = 반지름 int circle2[] = new int[3]; double distance, t..

BOJ 2022.09.10

백준 2477번 참외밭 [JAVA]

문제 출처: https://www.acmicpc.net/problem/2477 2477번: 참외밭 첫 번째 줄에 1m2의 넓이에 자라는 참외의 개수를 나타내는 양의 정수 K (1 ≤ K ≤ 20)가 주어진다. 참외밭을 나타내는 육각형의 임의의 한 꼭짓점에서 출발하여 반시계방향으로 둘레를 돌면서 지 www.acmicpc.net Sol) import java.io.*; public class Main { public static void main(String[] args) throws Exception { int chamPer1, bigArea = 0, smallArea = 0, maxVertical = 0, maxVerIndex = 0, maxHorizontal = 0, maxHoIndex = 0; int..

BOJ 2022.09.10

백준 1676번 팩토리얼 0의 개수 [JAVA]

문제 출처: https://www.acmicpc.net/problem/1676 1676번: 팩토리얼 0의 개수 N!에서 뒤에서부터 처음 0이 아닌 숫자가 나올 때까지 0의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net Sol1) BigInteger 클래스를 이용해 팩토리얼의 값을 구하고 0을 세는 방법 import java.io.*; import java.math.BigInteger; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int num = Integer.p..

BOJ 2022.09.10

백준 1004번 어린 왕자 [JAVA]

문제 출처: https://www.acmicpc.net/problem/1004 1004번: 어린 왕자 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 첫째 줄에 출발점 (x1, y1)과 도착점 (x2, y2)이 주어진다. 두 번째 줄에는 행성계의 개수 n이 주 www.acmicpc.net Sol) import java.io.*; public class Main { public static void main(String[] args) throws Exception { int tc, numberOfGalaxy; int[] xys = new int[4], galaxy = new int[3]; BufferedReader br = new BufferedReader..

BOJ 2022.09.09

백준 1010번 다리 놓기 [JAVA]

문제 출처: https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net Sol) import java.io.*; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws Exception { int tc; //test case 의 수 저장할 변수 double N, M; BufferedReader br = new BufferedReade..

BOJ 2022.09.06

백준 1652번 누울 자리를 찾아라 [C언어]

문제 출처: https://www.acmicpc.net/problem/1652 1652번: 누울 자리를 찾아라 첫째 줄에 방의 크기 N이 주어진다. N은 1이상 100이하의 정수이다. 그 다음 N줄에 걸쳐 N개의 문자가 들어오는데 '.'은 아무것도 없는 곳을 의미하고, 'X'는 짐이 있는 곳을 의미한다. www.acmicpc.net Sol) #include int main(){ int N, cnt_width = 0, cnt_height = 0; scanf("%d", &N); char room[N][N]; for(int k = 0; k < N; k++) { getchar(); //'\n' 제거 위함 for (int i = 0; i < N; i++) { scanf("%c", &room[k][i]); } } ..

BOJ 2022.09.05

백준 3273번 두 수의 합 [C언어]

문제 출처: https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net Sol1) 수열의 값을 저장할 배열을 선언하는 방법 #include int main(){ int n, x, cnt = 0; int checking[2000000] = {0}; scanf("%d", &n); int seq[n]; for(int i = 0; i < n; i++) scanf("%d", &seq[i]); scanf("%d..

BOJ 2022.09.02

백준 11718번 그대로 출력하기 [C언어]

문제 출처: https://www.acmicpc.net/problem/11718 11718번: 그대로 출력하기 입력이 주어진다. 입력은 최대 100줄로 이루어져 있고, 알파벳 소문자, 대문자, 공백, 숫자로만 이루어져 있다. 각 줄은 100글자를 넘지 않으며, 빈 줄은 주어지지 않는다. 또, 각 줄은 공백으로 시 www.acmicpc.net Sol1) 문자 단위로 입력 받기 + EOF 이용 #include int main() { char a; while(scanf("%c", &a) != EOF) { printf("%c", a); } return 0; } Sol2) 문자 단위로 입력 받기 + scanf 함수의 리턴값 이용 #include int main() { char a; while(scanf("%c",..

BOJ 2022.08.30