티스토리 뷰

PS

[Swift] 백준_N과 M(7)(15656)

희철 2023. 1. 17. 16:51

문제

 

https://www.acmicpc.net/problem/15656

 

15656번: N과 M (7)

N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열

www.acmicpc.net

 

 

풀이

 

N과 M(6)보다 오히려 더 간단한 문제였따.

 

중복이 허용되게 각 숫자별로 모든 경우를 출력해주면 되므로 check같은 변수 필요없이 반복문을 0부터 n까지 돌리면 된다.

import Foundation

let input = readLine()!.split(separator: " ").map { Int(String($0))! }
let numbers = readLine()!.split(separator: " ").map { Int(String($0))! }.sorted(by: <)

func dfs(_ current: String, _ depth: Int) {
    if depth == input[1] {
        print(current)
        return
    }
    for i in 0..<input[0] {
        dfs(current + "\(numbers[i]) ", depth + 1)
    }
}
dfs("",0)

 

 

_____________________________________________________________________________________________________

 

처음에 제출했을때 시간초과가 나서 고민하다가 그냥 다시 제출해봤는데 됐따..쩝

'PS' 카테고리의 다른 글

[Swift] 백준_N과 M(9)(15663)  (0) 2023.01.18
[Swift] 백준_N과 M(8)(15657)  (0) 2023.01.17
[Swift] 백준_N과 M(6)(15655)  (0) 2023.01.17
[Swift] 백준_N과 M(5)(15654)  (0) 2023.01.17
[Swift] 백준_N과 M(4)(15652)  (0) 2023.01.17
댓글
최근에 올라온 글
Total
Today
Yesterday