알고리즘/백준

1475>방 번호

Diademata 2017. 7. 1. 03:22
반응형

규칙 찾기


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


와... 문제 이해를 잘못해서 계속 삽질했었다.


하나의 세트에는 하나의 수만 들어있는게 아니라, "0번부터 9번까지 숫자가 하나씩" 들어있는 것입니다.


11123의 경우는 1이 3개가 필요한데, 각 세트에는 1이 1개밖에 없기때문에 3개의 세트가 필요하고, 이 세개의 세트를 사면 2와 3이 딸려오기 때문에 3개의 세트가 필요합니다.

12345의 경우는 한 세트만 사면 1~5까지의 수가 모두 들어있기 때문에 한 세트만 사도 충분합니다.

문제

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


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


입력

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


code>>


#include <iostream>

#include <string>

#include <algorithm>

int main()

{

std::ios::ios_base::sync_with_stdio(false);

std::string input;

std::cin >> input;

int count[10] = { 0, };

int max = 0;

for (auto i = 0; i < input.size(); i++)

{

if (input[i] == '9' || input[i] == '6')

{

count[6]++;

continue;

}

else

count[input[i] - '0']++;

if (max < count[input[i] - '0'])

max = count[input[i] - '0'];

}

max = std::max(max, count[6] / 2 + count[6] % 2);

printf("%d\n", max);

return 0;

}





반응형

'알고리즘 > 백준' 카테고리의 다른 글

1193>분수찾기  (0) 2017.07.06
10799>쇠막대기  (0) 2017.07.04
10250>ACM 호텔  (0) 2017.07.01
2775>부녀회장이 될테야!  (0) 2017.06.30
2217>로프  (0) 2017.06.30