백준
-
https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 풀이 코드 1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] dp = new int[30][30]; // 조합 함수 static int combi(int n..
[백준 1010] 다리 놓기 (Java 풀이)https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 풀이 코드 1 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int[][] dp = new int[30][30]; // 조합 함수 static int combi(int n..
2023.08.25 -
https://www.acmicpc.net/problem/2885 2885번: 초콜릿 식사 학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ... www.acmicpc.net 제출코드 import sys input = sys.stdin.readline k = int(input()) n,cnt= 1,0 while(n0): if k>=n: k-=n else: n//=2 cnt+=1 print(ans, cnt) 처음에는 전체 초콜릿에서 상근이가 원하는 크기가 될 때까지 잘라서 제일 작은 조각를 빼는 방법으로 코드를 짰다. 그랬더니 초콜릿 크기가 18일..
[백준 2885] 초콜릿 식사(파이썬 풀이)https://www.acmicpc.net/problem/2885 2885번: 초콜릿 식사 학교 근처 편의점에 새 초콜릿이 들어왔다. 이 초콜릿은 막대 모양이고, 각 막대는 정사각형 N개로 이루어져 있다. 초콜릿의 크기(정사각형의 개수)는 항상 2의 제곱 형태이다. 즉, 1, 2, 4, 8, 16, ... www.acmicpc.net 제출코드 import sys input = sys.stdin.readline k = int(input()) n,cnt= 1,0 while(n0): if k>=n: k-=n else: n//=2 cnt+=1 print(ans, cnt) 처음에는 전체 초콜릿에서 상근이가 원하는 크기가 될 때까지 잘라서 제일 작은 조각를 빼는 방법으로 코드를 짰다. 그랬더니 초콜릿 크기가 18일..
2023.08.07 -
https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 제출코드 import sys sys.setrecursionlimit(1000000) input = sys.stdin.readline def dfs(x,y): visited[x][y] = True for dx,dy in direction: nx = x+dx ny = y+dy if(0
[백준 10026] 적록색약 (파이썬 풀이)https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net 제출코드 import sys sys.setrecursionlimit(1000000) input = sys.stdin.readline def dfs(x,y): visited[x][y] = True for dx,dy in direction: nx = x+dx ny = y+dy if(0
2023.07.25 -
https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 제출코드 # BFS import sys from collections import deque input = sys.stdin.readline direction = [(-1,0),(1,0),(0,-1),(0,1)] n,m = map(int,input().split()) arr = list(input().split() for _ in range(n)) vi..
[백준 14940] 쉬운 최단거리 (파이썬 풀이)https://www.acmicpc.net/problem/14940 14940번: 쉬운 최단거리 지도의 크기 n과 m이 주어진다. n은 세로의 크기, m은 가로의 크기다.(2 ≤ n ≤ 1000, 2 ≤ m ≤ 1000) 다음 n개의 줄에 m개의 숫자가 주어진다. 0은 갈 수 없는 땅이고 1은 갈 수 있는 땅, 2는 목표지점이 www.acmicpc.net 제출코드 # BFS import sys from collections import deque input = sys.stdin.readline direction = [(-1,0),(1,0),(0,-1),(0,1)] n,m = map(int,input().split()) arr = list(input().split() for _ in range(n)) vi..
2023.07.24 -
https://www.acmicpc.net/problem/20529 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 제출 코드 # 비둘기집 원리 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n = int(input()) arr = list(input().split()) if n>32: print(0) else: ans = 100000 p = [] def dfs(start): global ans if len(p)==3: temp = 0 for i in range(4): if(p[0][i]!=p[1][i]): temp +=..
[백준 20529] 가장 가까운 세 사람의 심리적 거리 (파이썬 풀이)https://www.acmicpc.net/problem/20529 20529번: 가장 가까운 세 사람의 심리적 거리 각 테스트 케이스에 대한 답을 정수 형태로 한 줄에 하나씩 출력한다. www.acmicpc.net 제출 코드 # 비둘기집 원리 import sys input = sys.stdin.readline t = int(input()) for _ in range(t): n = int(input()) arr = list(input().split()) if n>32: print(0) else: ans = 100000 p = [] def dfs(start): global ans if len(p)==3: temp = 0 for i in range(4): if(p[0][i]!=p[1][i]): temp +=..
2023.07.24 -
https://www.acmicpc.net/problem/21736 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net 제출 코드 import sys sys.setrecursionlimit(10**6) # 재귀 제한 늘이기 input = sys.stdin.readline def dfs(x,y): global cnt visited[x][y] = True if graph[x][y] == 'P': cnt+=1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
[백준 21736] 헌내기는 친구가 필요해 (파이썬 풀이)https://www.acmicpc.net/problem/21736 21736번: 헌내기는 친구가 필요해 2020년에 입학한 헌내기 도연이가 있다. 도연이는 비대면 수업 때문에 학교에 가지 못해 학교에 아는 친구가 없었다. 드디어 대면 수업을 하게 된 도연이는 어서 캠퍼스 내의 사람들과 친해지고 www.acmicpc.net 제출 코드 import sys sys.setrecursionlimit(10**6) # 재귀 제한 늘이기 input = sys.stdin.readline def dfs(x,y): global cnt visited[x][y] = True if graph[x][y] == 'P': cnt+=1 for i in range(4): nx = x + dx[i] ny = y + dy[i] if 0
2023.07.23