본문 바로가기
반응형

알고리즘250

[백준][Python] 15651번 N과 M (3) 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 코드 n,m = map(int,input().split()) s = [] def dfs(): if len(s) == m: print(*s) return for i in range(1,n+1): s.append(i) dfs() s.pop() dfs() 설명 같은 수를 여러번 골라도 되기 때문에 원래 코드에서 중복을 방지하는 visit[]를 없앴다. 2022. 8. 1.
[백준][Python] 15650번 N과 M (2) 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 코드 n, m = map(int,input().split()) s = [] visit = [False] * (n+1) def dfs(): if len(s) == m: print(*s) return for i in range(1,n+1): if visit[i] == False: if s: if s[-1] < i: visit[i] = True s.append(i) dfs() s.pop() visit[i] = False else: visit[i] = True s.ap.. 2022. 7. 29.
[백준][Python] 15649번 N과 M (1) 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 코드 n, m = map(int,input().split()) s = [] visit = [False] * (n+1) def dfs(): if len(s) == m: print(*s) return for i in range(1,n+1): if visit[i] == False: visit[i] = True s.append(i) dfs() s.pop() visit[i] = False dfs() 설명 백트래킹 문제는 처음 풀어봐서 다른 사람들의 풀이를 참고했다. DF.. 2022. 7. 29.
[백준][Python] 9996번 한국이 그리울 땐 서버에 접속하지 9996번: 한국이 그리울 땐 서버에 접속하지 총 N개의 줄에 걸쳐서, 입력으로 주어진 i번째 파일 이름이 패턴과 일치하면 "DA", 일치하지 않으면 "NE"를 출력한다. 참고로, "DA"는 크로아티어어로 "YES"를, "NE"는 "NO"를 의미한다. www.acmicpc.net 코드 n = int(input()) pattern = input().split("*") length = len(pattern[0]) + len(pattern[1]) for _ in range(n): file = input() if length > len(file): print("NE") else: if pattern[0] == file[:len(pattern[0])] and pattern[1] == file[-len(patter.. 2022. 7. 28.
반응형