Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 백준
- OSAM
- 과제
- 취미생활
- 독학
- 건전한 취미생활
- 단계별로풀어보기
- *Luna
- GUI
- 알고리즘
- 텍스트 관련 태그들
- 학습생활
- c++
- CSS
- PyQT5
- A - B
- Python
- VOCALOID
- A×B
- HTML
- 텍스트 관련
- 날씨
- 건전한
- 원소 삭제
- 연결리스트
- 프로젝트
- 메일
- C언어
- 구현
- 원소 추가
Archives
- Today
- Total
언유상씨의 건전한 취미생활
[백준 알고리즘] 방 번호(1475번) C로풀기 본문
문제 이름 : 방 번호
문제 번호 : 1475
사용 언어 : C
문제 유형 : 구현
문제는 다음과 같다.
이 문제에서의 핵심 아이디어는, 6과 9는 서로 뒤집어서 사용할 수 있다는 것이다.
6과 9의 개수에 +1 을 하여 반으로 나누어 주면, 그것이 6, 9를 이용할때 필요한 세트수이다.
나머지 숫자들은 서로 뒤집어서 사용할 수 없으므로 숫자의 개수 = 필요한 세트수 가 된다.
이들중 가장 큰 세트 수를 구하면 된다.
따라서 다음과 같은 코드가 나온다.
#include <stdio.h>
int main() {
int n, arr[10] = { 0, };
scanf("%d", &n);
while (n != 0) {
arr[n % 10]++;
n /= 10;
}
int temp = (arr[6] + arr[9] + 1) / 2; #6과 9의 개수를 반으로 나누어준다. (+1은 홀,짝 모두 맞는 값이 나오도록 함)
for (int i = 0; i < 10; i++) {
if (i == 6 || i == 9)
continue;
if (arr[i] >= temp)
temp = arr[i];
}
if (temp == 0)
temp = 1;
printf("%d", temp);
return 0;
}
'건전한 취미생활 - 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 저항(1076번) C로풀기 (0) | 2020.02.05 |
---|---|
[백준 알고리즘] 플러그(2010번) C로풀기 (0) | 2020.02.03 |
[백준 알고리즘] 앵그리 창영(3034번) C로풀기 (0) | 2020.01.31 |
[백준 알고리즘] 색종이(2563번) C로풀기 (0) | 2020.01.30 |
[백준 알고리즘] 설탕 배달(2839번) C로풀기 (0) | 2020.01.29 |
Comments