반응형
문제 링크 : https://www.acmicpc.net/problem/1526
1526번: 가장 큰 금민수 (브론즈1, 수학, 구현, 브루트포스 알고리즘, JAVA)
수를 하나 입력받고, 4와 7로만 이루어진 숫자의 최댓값을 구하는 문제입니다. 전체 코드는 아래와 같은데, 값을 입력받은 후 해당 숫자를 char 배열로 변환합니다.
이후 각각의 char 배열에 7또는 4가 있는지 확인하고 count를 증가시키게 되는데, count가 char 배열의 길이와 같을 경우 모든 값이 4또는 7로 이루어진 문자이기 때문에 출력 후 종료합니다.
만약, 같지 않다면 입력받은 값(N)에서 1씩 감소시키며 원하는 값을 찾을때까지 반복합니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
while(true) {
char[] ch = Integer.toString(N).toCharArray();
int count = 0;
for(int i=0; i<ch.length; i++) {
if(ch[i] == '7') {
count++;
} else if(ch[i] == '4') {
count++;
}
}
if(count == ch.length) {
System.out.println(N);
break;
}
N--;
}
}
}
반응형
'코딩 테스트 > 백준' 카테고리의 다른 글
[백준] 1764번: 듣보잡 (실버4, 자료 구조, 문자열, 정렬해시를 사용한 집합과 맵, JAVA) (0) | 2024.01.27 |
---|---|
[백준] 1417번: 국회의원 선거 (실버5, 구현자료, 구조그리디, 알고리즘시뮬레이션, 우선순위 큐, JAVA) (1) | 2024.01.27 |
[백준] 1302번: 베스트셀러 (실버4, 자료구조, 문자열, 정렬, 해시를사용한 집합과 맵 JAVA) (0) | 2024.01.20 |
[백준] 1100번: 하얀 칸 (브론즈2, JAVA) (0) | 2024.01.20 |
[백준] 14916번: 거스름돈 (실버5, 그리디 알고리즘, JAVA) (0) | 2024.01.03 |