백준 문제 모음
문제 링크
https://www.acmicpc.net/problem/1475
문제
다솜이는 은진이의 옆집에 새로 이사 왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.
다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)
입력
첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수이다.
출력
첫째 줄에 필요한 세트의 개수를 출력한다.
입출력 예시
알고리즘 분류
- 구현
문제 풀이
- 방 번호를 입력받고, 방 번호의 각 숫자의 개수를 담을 배열 numArr를 생성한다.
- 방 번호에서 각 숫자의 개수를 numArr에 저장한다.
- 6과 9는 뒤집어서 사용할 수 있기 때문에, (6의 개수 + 9의 개수 +1)/2가 6과 9의 개수이다.
- numArr에서 가장 큰 값을 출력한다.
소스코드
let n = readLine()!.map{Int(String($0))!}
var numArr = Array(repeating: 0, count: 10)
for i in n {
numArr[i] += 1
}
numArr[6] = (numArr[6]+numArr[9]+1)/2
numArr[9] = numArr[6]
print(numArr.max()!)
- 8ms 소요
반응형
'📖 Coding Test > Baekjoon' 카테고리의 다른 글
[Swift] 백준 1406번 - 에디터 (0) | 2023.03.27 |
---|---|
[Swift] 백준 3273번 - 두 수의 합 (0) | 2023.03.26 |
[Swift] 백준 1919번 - 애너그램 만들기 (0) | 2023.03.25 |
[Swift] 백준 11328번 - Strfry (0) | 2023.03.25 |
[Swift] 백준 13300번 - 방 배정 (0) | 2023.03.25 |
댓글