반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q2025 : 좋은 날 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
연도/월/일 형태로 입력된다.
(1000<=연도<=9999), 월과 일은 실제 존재하는 날짜만 입력으로 들어온다.
출력
주어진 일자가 좋은 날이면 "yes"를 출력하고, 아니면 "no"를 출력한다.
예시
- 입력 : 2012/12/02
- 출력 : yes
Solution (풀이)
- 풀이 : 메모리 11204, 시간 : 69
public class Answer2 {
public static void main(String[] args) throws IOException, NumberFormatException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), "/");
// 년 월 일 입력받기
String year = st.nextToken();
String month = st.nextToken();
String day = st.nextToken();
char[] letters = new char[4];
// 년도의 각 자리 숫자를 배열에 저장
for (int i=0; i<year.length(); i++) {
letters[i] = year.charAt(i);
}
boolean isGoodDay = true;
for (int i=0; i<4; i++) {
char checkLetter = (month+day).charAt(i); // 월+일(String) 의 각 자리 숫자를 찾아
for (int j=0; j<4; j++) { // 배열에 저장된 년도의 숫자와 일치하는것이 있는지 체크
if (letters[j] == checkLetter) {
letters[j] = 'a'; // 있는 순간 다른 문자로 변환
break;
}
}
int count = 0;
for (int j=0; j<4; j++) {
if (letters[j] == 'a') { // 변환한 a문자가 존재하는지 체크 후 count+=1
count++;
}
}
// count의 개수가 현재 for 반복문의 순번(+1)과 같지 않으면 다른 숫자가 있다는 뜻
if (count != i+1) {
isGoodDay = false;
break;
}
}
System.out.println(isGoodDay ? "yes" : "no");
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q2024 : 숫자를 한글로 변환 (0) | 2022.11.23 |
---|---|
[CodeUp_Java] Q2008 : 오름차순? 내림차순? 2 (0) | 2022.11.23 |
[CodeUp_Java] Q2026 : 16진수를 2진수로 변환하기 (2) | 2022.11.22 |
[CodeUp_Java] Q2027 : 콘웨이의 1만 달러짜리 수열 (0) | 2022.11.22 |
[CodeUp_Java] Q2028 : 삼각수 (0) | 2022.11.21 |