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
- c++
- A - B
- HTML
- 프로젝트
- 독학
- 연결리스트
- *Luna
- 알고리즘
- Python
- GUI
- A×B
- 원소 추가
- 텍스트 관련 태그들
- 건전한 취미생활
- 학습생활
- 날씨
- 백준
- 단계별로풀어보기
- 구현
- PyQT5
- OSAM
- 원소 삭제
- 취미생활
- VOCALOID
- 과제
- 메일
- C언어
- 텍스트 관련
- CSS
- 건전한
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