[swea] 2056. 연월일 달력 (python, java , D1)
728x90
반응형
문제풀이 언어를 파이썬으로 바꾼 이후로 쉬운 문제부터 다시 연습하고 있다
swea1, 2 부터 다 풀려고 한다
달력 일자 별로 배열에 담아 푸는 방법도 있는데 그게 더 나을 것 같다
1. python 풀이
t=int(input())
for i in range(t):
print('#%s' %(i+1),end=' ')
date=input()
year=int(date[:4])
month=int(date[4:6])
dd=int(date[6:])
if month <1 or month>12:
print(-1)
continue
if month in [1,3,5,7,8,10,12]:
if dd <1 or dd>31:
print(-1)
continue
if month ==2:
if dd<1 or dd>28:
print(-1)
continue
if month in [4,6,9,11]:
if dd <1 or dd>30:
print(-1)
continue
print("%04d/%02d/%02d" %(year,month,dd))
2. java
sc.nextLine을 쓰면 substring이 안되는데 이유를 모르겠다
정수 입력 받은 후 문자열을 nextLine으로 받으면 문제가 생긴다
정수 입력 후 엔터(개행문자)가 남는데 다음 nextLine이 엔터를 만나서 그냥 지나가버린다
정수 입력 후 nextLine을 한 번 더 써줘서 개행문자를 없애주자
(1) next 사용
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] days= {31,28,31,30,31,30,31,31,30,31,30,31};
int t=sc.nextInt();
for(int i=0;i<t;i++) {
String s=sc.next();
String year=s.substring(0,4);
String month=s.substring(4,6);
String day=s.substring(6,8);
if(Integer.parseInt(month)>=1 && Integer.parseInt(month)<=12 && Integer.parseInt(day)>=0
&& Integer.parseInt(day)<=days[Integer.parseInt(month)-1])
System.out.println("#"+(i+1)+" "+year+"/"+month+"/"+day);
else {
System.out.println("#"+(i+1)+" -1");
}
}
}
}
(2) nextLine 사용
package com.ssafy.edu;
import java.util.Arrays;
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int[] days= {31,28,31,30,31,30,31,31,30,31,30,31};
int t=sc.nextInt();
sc.nextLine();
for(int i=0;i<t;i++) {
String s=sc.nextLine();
String year=s.substring(0,4);
String month=s.substring(4,6);
String day=s.substring(6,8);
if(Integer.parseInt(month)>=1 && Integer.parseInt(month)<=12 && Integer.parseInt(day)>=0
&& Integer.parseInt(day)<=days[Integer.parseInt(month)-1])
System.out.println("#"+(i+1)+" "+year+"/"+month+"/"+day);
else {
System.out.println("#"+(i+1)+" -1");
}
}
}
}
728x90
반응형
'swexpert' 카테고리의 다른 글
[swexpert] 2007. 패턴 마디의 길이 (python, java, d2) (0) | 2020.12.28 |
---|---|
[swexpert] 1926번 간단한 369게임 (python, java, D2) (0) | 2020.12.28 |
[swexpert] 1204. 최빈수 구하기 (python, java) (0) | 2020.12.28 |
[swexpert] 2047. 신문 헤드라인 (D1, python, java) (0) | 2020.12.16 |
[swexpert] 2046. 스탬프 찍기 (python, java, D1 ) (0) | 2020.12.16 |
TAGS.