Algorithm 45

[백준 BOJ] 15654 N과 M(5) (python)

문제 출처 : https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: a = [x for x in result] arr.append(a) return else: for i in range(N): if v[i] == 0: v[i] = 1 result.append(lst[i]) sol(lst) result.pop() v[i] = 0 return N, M = map(int..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15652 N과 M(4) (python)

문제 출처 : https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: print(*result) return else: for i in range(N): if result: if result[-1]

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15651 N과 M(3) (python)

문제 출처 : https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: print(*result) return else: for i in range(N): result.append(lst[i]) sol(lst) result.pop() return N, M = map(int, input().split()) lst = [i for i in range(1, N+1)] result ..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15650 N과 M(2) (python)

문제 출처 : https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 N, M = map(int, input().split()) lst = [_ for _ in range(1, N+1)] arr = [] for i in range(1 2 3 1001 => 1 4 1010 => 2 4 1100 => 3 4 문제에서는 1 4 보다 2 3이 먼저 출력되면 안되므로 오답입니다. 그래서 result의 원소가 2개가 될 때마다 arr에 저장해두고..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15649 N과 M(1) (python)

문제 출처 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 🔥 작성 코드 def sol(lst): if len(result) == M: print(*result) return else: for i in range(N): if v[i] == 0: v[i] = 1 result.append(lst[i]) sol(lst) result.pop() v[i] = 0 return N, M = map(int, input().split()) lst = [i..

Algorithm/BAEKJOON 2022.03.04

[SWEA] [파이썬 S/W 문제해결 기본] 6일차 - 미로의 거리 (python)

https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔥 작성 코드 def bfs(si, sj, N): # 초기 데이터 설정 q = [] v = [[-1]*N for _ in range(N)] q.append([si, sj]) v[si][sj] = 0 while q: si, sj = q.pop(0) # 4방향 탐색 for di, dj in ((1, 0), (-1, 0), (0, -1), (0, 1)): ni, nj = si+di, sj+dj # 갈 수 있다면 q에 삽입, 방문 배열에 이전 값 ..

Algorithm/SWEA 2022.02.25

[백준 BOJ] 1063 킹 (python)

https://www.acmicpc.net/problem/1063 1063번: 킹 8*8크기의 체스판에 왕이 하나 있다. 킹의 현재 위치가 주어진다. 체스판에서 말의 위치는 다음과 같이 주어진다. 알파벳 하나와 숫자 하나로 이루어져 있는데, 알파벳은 열을 상징하고, 숫자는 www.acmicpc.net 🔥 작성 코드 # 위치를 구하기 위한 딕셔너리 생성 trans = { 'A' : 0, 'B' : 1, 'C' : 2, 'D' : 3, 'E' : 4, 'F' : 5, 'G' : 6, 'H' : 7 } # 커맨드 딕셔너리 생성 command = { 'R' : (0, 1), 'L' : (0, -1), 'B' : (-1, 0), 'T' : (1, 0), 'RT' : (1, 1), 'LT' : (1, -1), 'R..

Algorithm/BAEKJOON 2022.02.24

[SWEA] [파이썬 S/W 문제해결 기본] 5일차 - 배열 최소 합 (python)

https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔥 작성 코드 def sol(row, tot): global result # 행의 마지막을 지나왔으면 종료 if row == N: # 종료 시 총 합이 더 작다면 결과값 갱신 if result > tot: result = tot return # 해당 row에서 값 하나를 tot에 더하고 다음 행 전달 for i in range(N): # 내려받은 v 확인, tot이 이미 result보다 커진 경우는 제외 if v[i] == 0 and tot..

Algorithm/SWEA 2022.02.24

[백준 BOJ] 1091 카드 섞기

https://www.acmicpc.net/problem/1091 1091번: 카드 섞기 지민이는 카지노의 딜러이고, 지금 3명의 플레이어(0, 1, 2)가 있다. 이 게임은 N개의 카드를 이용한다. (0 ~ N-1번) 일단 지민이는 카드를 몇 번 섞은 다음에, 그것을 플레이어들에게 나누어 준다. 0 www.acmicpc.net 🔥 코드 # 입력받기 N = int(input()) P = list(map(int, input().split())) S = list(map(int, input().split())) # 카드 배열 복사 lst = [x for x in P] lst2 = [x for x in P] # 값 초기화 result = -1 cnt = 0 # 한 바퀴 돌 동안 답이 안나오거나 찾으면 break..

Algorithm/BAEKJOON 2022.02.24

[SWEA] [파이썬 S/W 문제해결 기본] 5일차 - 미로 (python)

https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 🔥 작성 코드 T = int(input()) for test_case in range(1, T+1): N = int(input()) arr = [input() for _ in range(N)] v = [[0 for _ in range(N)] for _ in range(N)] for i in range(N): for j in range(N): v[i][j] = int(arr[i][j]) if arr[i][j] == '2': ni = i nj ..

Algorithm/SWEA 2022.02.24