보글보글 개발일지
반응형
[프로그래머스][Python] 타겟넘버
알고리즘 2023. 4. 14. 10:23

문제 https://school.programmers.co.kr/learn/courses/30/lessons/43165?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 DFS를 써서 풀었다. 문제 자체는 어렵지 않은데 파이썬이 아직 익숙하지 않아서 global 함수를 다루는 데에 애를 먹었다.. [Python] nonlocal, global로 변수의 scope 변경하기 (파이썬에서 전역변수 사용하기) 👀 다른 scope에 있는 변수를 사용할 때 문제 case 1. 더 넓은 범위에 있는 변수 '읽기'는 가능 아래와 같이 전..

[백준/15666][파이썬] N과 M(12)
알고리즘 2023. 4. 11. 15:03

문제 https://www.acmicpc.net/problem/15666 15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 중복되는 수열을 여러 번 출력하면 안되며, 같은 수를 여러 번 골라도 된다. 따라서 start를 사용하고 vis를 빼준다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) #입력받은 수 저장 arr = [0 for _ in ra..

[백준/15665][파이썬] N과 M(11)
알고리즘 2023. 4. 11. 15:00

문제 https://www.acmicpc.net/problem/15665 15665번: N과 M (11) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 vis배열을 삭제해 주며 나머지는 위와 동일하다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) #입력받은 수 저장 arr = [0 for _ in range(m)] num.sort() def choose(k): if (k =..

[백준/15664][파이썬] N과 M(10)
알고리즘 2023. 4. 11. 14:58

문제 https://www.acmicpc.net/problem/15664 15664번: N과 M (10) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 변수 temp가 추가되었다. temp를 통해 직전에 구한 수랑 같은지 비교해준다. 그리고 start번호를 통해 중복되는 수열을 여러 번 출력하면 안되는 조건을 만족시켜준다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) #입력..

[백준/15663][파이썬] N과 M(9)
알고리즘 2023. 4. 11. 14:57

문제 https://www.acmicpc.net/problem/15663 15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 변수 temp가 추가되었다. temp를 통해 직전에 구한 수랑 같은지 비교해준다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) #입력받은 수 저장 arr = [0 for _ in range(m)] vis = [0 for _ i..

[백준/15657][파이썬] N과 M(8)
알고리즘 2023. 4. 11. 14:53

문제 https://www.acmicpc.net/problem/15657 풀이 7번에서 start만 추가해주면 된다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) arr = [0 for _ in range(m)] num.sort() def choose(k,start): if (k == m): print(" ".join(map(str, arr))) else: for i in range(start,n): arr[k] = num[i] choose(k + 1,i) choose(0,0)

[백준/15656][파이썬] N과 M(7)
알고리즘 2023. 4. 11. 14:51

문제 https://www.acmicpc.net/problem/15656 15656번: N과 M (7) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 풀이 같은 수를 여러 번 골라도 된다.라는 조건이 추가되었다. 따라서 visit 조건을 지워준다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) arr = [0 for _ in range(m)] num.sort() def ch..

[백준/15655][파이썬] N과 M(6)
알고리즘 2023. 4. 11. 13:32

문제 https://www.acmicpc.net/problem/15655 15655번: N과 M (6) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 풀이 num을 입력받고, start를 통해 중복되는 수열을 출력하지 않도록 한다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int, read().split())) arr = [0 for _ in range(m)] vis = [0 for _ in range(n)..

[백준/15654][파이썬] N과 M(5)
알고리즘 2023. 4. 11. 13:17

문제 https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 풀이 num에 배열을 입력받아서 정렬을 진행하고, 숫자를 뽑을 때 i+1이 아닌, num[i]를 해주면 된다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) num = list(map(int,read().split())) arr = [0 for _ in range(m)] vis = [0 fo..

[백준/15652][파이썬] N과 M(4)
알고리즘 2023. 4. 11. 11:25

문제 https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 풀이 N과 M 2,3번을 짬뽕한 문제이다. vis배열을 빼고, start 매개변수를 추가해주면 된다. 코드 import sys read = sys.stdin.readline n, m = list(map(int, read().split())) arr = [0 for _ in range(m)] def choose(k,start): if (k == m): print(" ".join(map(str..

반응형