[백준] 1475 - 방 번호



문제 정보


  • 문제 이름: 방 번호
  • 문제 번호: 1475
  • 문제 유형: 알고리즘 - 수학 / 문자열 처리
  • 풀이 언어: Java
  • 제출 시간: 2019년 5월 12일 19시 17분 22초
  • 원본 링크: https://www.acmicpc.net/problem/1475



문제

다솜이는 은진이의 옆집에 새로 이사왔다. 다솜이는 자기 방 번호를 예쁜 플라스틱 숫자로 문에 붙이려고 한다.

다솜이의 옆집에서는 플라스틱 숫자를 한 세트로 판다. 한 세트에는 0번부터 9번까지 숫자가 하나씩 들어있다. 다솜이의 방 번호가 주어졌을 때, 필요한 세트의 개수의 최솟값을 출력하시오. (6은 9를 뒤집어서 이용할 수 있고, 9는 6을 뒤집어서 이용할 수 있다.)



입력

첫째 줄에 다솜이의 방 번호 N이 주어진다. N은 1,000,000보다 작거나 같은 자연수 또는 0이다.



출력

첫째 줄에 필요한 세트의 개수를 출력한다.



결과 - 소스코드 및 랭크





메모

간단한 문제라고 생각했는데 생각보다 오랜 시간을 고민한 문제였다.

이번 문제는 0부터 8까지의 정수 배열을 만들고 String 값으로 받은 숫자를 Char 배열로 하나씩 나누어 확인하면서 각 정수 값에 맞는 값을 하나씩 더해주도록 했다.

6과 9는 같은 경우로 들어갈 수 있기 때문에 두 숫자가 동시에 나오면 6이 들어가는 배열의 값을 2개 증가시켜 주도록 하였다.

나중에 모든 값을 비교하고 난 다음 num 배열의 최댓값을 구했고 그 값이 방 번호를 결정하는 최솟값이라는 것을 확인할 수 있었다.

다만 6과 9의 경우에는 같이 나오는 경우 2배수가 적용되기 때문에 마지막 확인 시에 2로 나누어주었고, 동시에 나오지 않았을 경우 즉 나머지 값 1이 있는 경우 최솟값에 한 번을 추가해주었다.

Author

Alec J

Posted on

2019-05-12

Updated on

2021-02-09

Licensed under