백준 21

[백준 BOJ] 14503 로봇 청소기 (python)

문제 출처 : https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 로봇 청소기가 주어졌을 때, 청소하는 영역의 개수를 구하는 프로그램을 작성하시오. 로봇 청소기가 있는 장소는 N×M 크기의 직사각형으로 나타낼 수 있으며, 1×1크기의 정사각형 칸으로 나누어 www.acmicpc.net 🔥 작성코드 N, M = map(int, input().split()) si, sj, d = map(int, input().split()) arr = [list(map(int, input().split())) for _ in range(N)] # 입력받은 d는 시계방향 (북, 동, 남, 서 => 북, 서, 남, 동) if d%2: d = (d+2)%4 # 반시계 방향으로 북, 서,..

Algorithm/BAEKJOON 2022.03.16

[백준 BOJ] 17070 파이프 옮기기 1 (python)

문제 출처 : https://www.acmicpc.net/problem/17070 17070번: 파이프 옮기기 1 유현이가 새 집으로 이사했다. 새 집의 크기는 N×N의 격자판으로 나타낼 수 있고, 1×1크기의 정사각형 칸으로 나누어져 있다. 각각의 칸은 (r, c)로 나타낼 수 있다. 여기서 r은 행의 번호, c는 열의 www.acmicpc.net dfs문제처럼 생겨서 바로 도전해보았으나 시간초과로 실패! pypy로는 정답이 나왔지만 너무 느려서 문제 분류를 보고 dp로 재도전했습니다. 🔥 DFS 코드 (시간 초과) def sol(i, j, flag): global cnt # 끝에 도착하면 결과값 1 증가 if i == N-1 and j == N-1: cnt += 1 return # 가로 세로 끝 부분..

Algorithm/BAEKJOON 2022.03.14

[백준 BOJ] 10971 외판원 순회2 (python)

문제 출처 : https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 🔥 작성 코드 def sol(tot, flag, s): global result # 여행비가 결과값보다 커지면 더 볼 필요가 없다. if tot >= result: return elif sum(v) == (N-1): # 마지막에 첫 출발지로 돌아가지 못하면 없는 경로, so 고려x if arr[flag][s] != 0: tot += arr..

Algorithm/BAEKJOON 2022.03.09

[백준 BOJ] 15657 N과 M(8) (python)

문제 출처 : https://www.acmicpc.net/problem/15657 15657번: N과 M (8) 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 result: if result[-1]

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15656 N과 M(7) (python)

문제 출처 : https://www.acmicpc.net/problem/15656 15656번: N과 M (7) 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): result.append(lst[i]) sol(lst) result.pop() return N, M ..

Algorithm/BAEKJOON 2022.03.04

[백준 BOJ] 15655 N과 M(6) (python)

https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 🔥 작성 코드 N, M = map(int, input().split()) lst = list(map(int, input().split())) arr = [] for i in range(1

Algorithm/BAEKJOON 2022.03.04

[백준 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