Programing/CodeUp 코드업

코드 업(CodeUp) 1162~1173번 문제풀기

recognizee 2021. 4. 11. 15:00
728x90

안녕하세요.

코드 업 1162~1173번 문제풀이입니다.

 

#1162번

1162번 문제
1162번 입/출력 예시
1162번 코드

먼저 세 정수를 입력받고 (년-월+일)의 1의 자릿수가 0이면 대박이라고 출력할 수 있도록 (년-월+일)에 10을 나누어 나머지가 없으면 대박이라고 출력하게 코드를 짰고, 그 외엔 그럭저럭이라고 출력하도록 코드를 짰습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다.

 

#1163번

1163번 문제
1163번 입/출력 예시
1163번 코드

1162번과 비슷하지만 다른 1163번은 먼저 세 정수를 입력받고, sum이라는 변수 안에 세 정수를 합한 값을 저장한 다음에 100의 자리 값을 알 수 있도록 1000을 나누어 나머지가 나오도록 저장합니다. 또한 sum에 100의 자리 수를 알기 위해 다시 100을 나누어 몫을 저장한 다음에 짝수인지 홀수인지 알 수 있도록 2를 나누어 나머지가 없으면 대박, 있으면 그럭저럭이라고 출력할 수 있는 코드를 짜보았습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 잘 나왔습니다.

 

#1164번

1164번 문제
1164번 입/출력 예시
1164번 코드

이 문제는 if문을 사용하여 코드를 짜보았습니다. 먼저 세 정수를 입력받고 다중 if문을 사용하여 그 세 정수가 170보다 크면 PASS를 아니면 CRASH를 출력하는 코드를 짜보았습니다.

이 코드를 제출하면

잘못된 풀이!

잘못된 풀이가 나왔네요...

오류인 출력 결과

CRASH를 CRUSH라고 오타를 냈네요...

1164번 수정한 코드

CRASH로 수정을 하고 왠지 else문이 없으면 안 될 것 같아서 else문도 써서 하나라도 170이 안 넘길 시 CRASH라는 단어를 출력할 수 있도록 코드를 다시 짰습니다.

이 코드를 다시 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다.

 

#1165번

1165번 문제
1165번 입/출력 예시
1165번 코드

문제를 보고 for문을 사용하여 코드를 짜보았습니다. 먼저 2개의 정수를 입력받고 i에 a(경기시간)값을 넣고 i가 90 이하가 될 때까지 i에 5를 더해주는 반복문을 사용했는데요, i가 계속 90 이하라면 b(점수) 값에 1을 계속 더해주는 반복문입니다.

이 코드를 제출하면

잘못된 풀이!

잘못된 풀이라고 나왔네요

오류인 출력 결과

출력 결과를 보니 제가 1점 더 많이 출력이 됐네요...

1165번 코드

다시 코드를 보고 문제를 보니까 90ㅍ이하가 아니라 90 미만이더라고요.. 그래서 5행에 =을 빼주었습니다.

이 코드를 다시 제출하면

정확한 풀이!

짜란, 정확한 풀이라고 나왔습니다.

 

#1166번

1166번 문제
1166번 입/출력 예시
1166번 코드

윤년을 구분하는 코드를 짜보았습니다. 문제에 나온 조건들을 그대로 코드에 넣었습니다. 먼저 윤년이 될 수 있는 조건은 4의 배수이면서 100의 배수가 아닌 수와 400의 배수인데요, 먼저 4를 나눠서 나머지가 없으면서도 100을 나눠 나머지가 있는 수이거나 400을 나눠 나머지가 없는 수를 구분하여 맞다면 yes를, 아니라면 no를 출력하는 코드를 짜보았습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다!

 

#1167번

1167번 문제
1167번 입/출력 예시
1167번 코드

문제를 보고 if문을 사용하여 이런 코드를 짜보았습니다. 5행은 a 값이 2번째로 큰 값일 때, 6행은 b 값이 2번째로 큰 값일 때, 7행은 c 값이 2번째로 큰 값일 때, 각각 a, b, c가 출력할 수 있는 코드를 짰습니다. 그 외엔 모두 같은 값이라고 생각하여 셋 중 아무 숫자나 출력할 수 있도록 짰습니다.

이 코드를 제출하면

잘못된 풀이

잘못된 풀이라고 나왔습니다.

1167번 수정한 코드

첫번째첫 번째 코드는 뭐가 많이 부실하여 다시 수정하였습니다. 이번에는 첫 번째 코드에서 좀 더 추가를 했습니다. 8행은 만약 a랑 b 혹은 a랑 c가 같다면 a를 출력하고, 9행은 b와 c가 같다면 b를 출력할 수 있는 코드를 더 추가하였습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다!

 

#1168번

1168번 문제
1168번 입/출력 예시
1168번 코드

일단 먼저 주민번호 앞자리(a)와 주민번호 뒷자리(b)의 첫번째 수를 입력을 받고, 만약 b가 1 또는 2라면 sum에 1900+년도(a/10000)를 저장하고 age에 기준 연도인 2012-sum+1(우리나라는 한 살 더 먹으니까)을 저장하여 출력해주도록 코드를 짰고, 만약 b가 3 또는 4면 2000+년도(a/10000)를 저장하고 age에 2012-sum+1을 저장하여 출력할 수 있도록 코드를 짜보았습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다!

 

#1169번

1169번 문제
1169번 입/출력 예시
1169번 코드

1168번은 출생년도를 입력하여 나이를 출력하는 문제라면 1169번은 반대로 나이를 입력하여 출생 연도를 출력하는 문제입니다. 일단 먼저 나이(a)를 입력받고 기준 연도인 2012-a+1(우리나라 한 살 더 많음)을 sum에 저장합니다. 만약 sum/100의 몫이 19가 나온다면 sum/100의 나머지와 1을 출력하고, sum/100의 몫이 19가 아니라면 sum/100의 나머지와 3을 출력하는 코드를 짰습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 잘 나왔습니다.

 

#1170번

1170번 문제
1170번 입/출력 예시
1170번 코드

이번 문제는 학번을 출력하는 문제인데요, 먼저 학년, 반, 번호를 입력받고 만약 번호가 10보단 작으면 번호 앞에 0을 출력할 수 있도록 하고, 그렇지 않다면 그냥 출력할 수 있는 코드를 짰습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 나왔습니다.

 

#1171번

1171번 문제
1171번 입/출력 예시
1171번 코드

1170번처럼 학번을 출력하는 프로그램을 만들어야하지만 이번에는 반은 2 자릿수, 번호는 3자리 수로 출력할 수 있도록 코드를 짰습니다. 먼저 학년(a), 반(b), 번호(c)를 입력받고 만약 반이 10보다 작았을 때 번호도 10보다 작으면 a0b00c로 출력할 수 있도록 0을 3개 넣었고, 반이 10보다 작았을 때 번호는 100보다 작으면 a0b0c로 출력할 수 있도록 0을 2개 넣었고, 그 외는 a0bc로 출력할 수 있도록 0을 1개만 넣었습니다. 또 b가 10보다 크고 c가 10보다 작거나, c가 100보다 작거나, 그 외일 경우, 순서대로 ab00c, ab0c, abc를 출력할 수 있도록 코드를 짰습니다.

이 코드를 제출하면

컴파일 에러!

컴파일 에러가 떴네요....?

1171번 수정한 코드

자세히 보니 } 이게 잘못해서 추가로 더 있어서 에러가 난 것 같습니다. 그래서 지워주고 다시 제출을 했습니다!

정확한 풀이!

정확한 풀이라고 나왔습니다!

 

#1172번

1172번 문제
1172번 입/출력 예시
1172번 코드

이 문제는 오름차순으로 출력할 수 있도록 코드를 짜보았습니다. 먼저 a가 b와 c보다 작을 때 b와 c를 비교해서 b가 더 크면 a b c로, 더 작으면 a c b로 출력할 수 있도록 했고, 나머지도 그렇게 짜보았습니다.

이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 잘 나왔습니다.

 

#1173번

1173번 문제
1173번 입/출력 예시
1173번 코드

시간을 입력받아 30분 전 시간을 출력하는 코드를 짜는 문제입니다. 저는 시간(h), 분(m)을 입력받고 변수 t에 h*60을 하여 시를 분으로 맞추고 m을 더해 분으로 계산했습니다. 거기서 30을 빼 처음 입력 받은 시간에서 30분 전 시간을 출력하도록 코드를 짰습니다.

이 코드를 제출하면

잘못된 풀이!

잘못된 풀이라고 나왔네요..?

오류인 출력 결과

시가 0으로 입력받을 수 있다는 생각을 못했습니다...

1173번 수정한 코드

그랬을 때 저는 if문을 사용하여 만약 시가 0이였을 때와 0이 아니었을 때로 나눴습니다. 0이었을 때는 h를 24로 저장하여 분으로 바꿔 거기서 30을 빼 30분 전 시간을 출력할 수 있도록 코드를 짰습니다. 시가 0이 아니었을 때는 앞에서 썼던 코드와 똑같이 썼어요.

다시 이 코드를 제출하면

정확한 풀이!

정확한 풀이라고 잘 나왔습니다!

 

 

이상으로 1162~1173번 문제풀이를 마치겠습니다.

보시느라 수고하셨습니다.