시작(1)로부터 주위에 둘러싼 외벽의 방 갯수가 갖는 규칙을 찾아보면 쉽게 풀이 가능하다.
시작(1)은 방하나 그자제라고 생각하면된다.
답안
a = int(input())
if a == 1: # 처음 1은 방 한개 그 자체이다.
print(a)
else: # 이후 외벽들은 6의 배수로 증가
cnt = 1
b = 1
while b < a:
b += cnt*6 # 벌집의 갯수를 파악하기위함
cnt += 1 # 외벽의 갯수를 파악하기위함
print(cnt)
a가 1인 경우 1개의 방 그 자체이기 때문에 시작으로 조건을 걸어준다.
이후 외벽 부턴 6의 배수로 증가한다는 점을 확인할 수 있다. b에는 방의 갯수를 알기위해 6의 배수를 계속 더해 대입해주고
해당 사이트에 코드를 입력하면 스탭별로 로직 흐름을 알 수 있다. 오래걸리더라도 꼭해보길 권한다.
답안
a = int(input())
b = []
count = 0
sum = 0
for i in range(a):
s = input()
b.append(s)
for j in range(len(b)):
for n in range(len(b[j])):
if b[j][n] == "O":
count += 1
sum += count
elif b[j][n] == "X":
count = 0
count = 0
print(sum)
sum = 0
A = int(input())
if 90<=A<101:
print("A")
elif 80<=A<90:
print("B")
elif 70<=A<80:
print("C")
elif 60<=A<70:
print("D")
else:
print("F")
이정도는 큰 어려움 없이 클리어~!
[2753] 윤년
답안
A = int(input())
if A%4 == 0 and (A%100 != 0 or A%400 == 0):
print("1")
else:
print("0")
이정도도 문제없이 클리어
[14681] 사분면그리기
답안
A = int(input())
B = int(input())
if A>0 and B>0:
print("1")
elif A<0 and B>0:
print("2")
elif A>0 and B<0:
print("4")
elif A<0 and B<0:
print("3")
해당 문제는 A와B 값을 따로 받았다.
문제 없이 클리어!
[2884] 알람시계
해결 포인트
입력된 시간보다 45분이 단축되어 표시해줘야하는데... 주어진 분이 45분 이상이면 시간은 줄어들지 않지만 45분 미만이면 시간은 -1되어 나타나야한다. 따라서 이를 가지고 IF문을 걸어줬으며 이에 따른 출력 분에는 +15 시켜줬다.
답안
H,M = map(int,input().split())
if 45<=M<=59:
print(H,M-45)
elif 0<=M<45:
if 0<H:
print(H-1,M+15)
elif 0==H:
print(23,M+15)
[2525] 오븐 시계
해결 포인트
사용자로부터 시작 시간(시/분)과 소요시간(분)을 입력받아 시간을 더해 출력하는 문제이다.
시작 시간 = A, 시작 분 = B, 소요 분 = C이라 가정했을때 B와 C 합친 값이 60을 넘어가면 A에 영향을 주기때문에 이를 먼저 IF 걸어주었다.
추가로 A가 가질 정수 값은 0~24까지이다. 이를 고려하여 다시한먼 IF를 걸어줘야한다. 아래 답안을 참고하길 바란다.
답안
A,B = map(int,input().split())
C = int(input())
if (B + C) >= 60:
if 0 <= ((B+C)/60 + A) <= 24:
print("{} {}".format(int((B+C)/60 + A),(B+C)%60))
else:
print("{} {}".format(int((((B+C)/60 + A))-24),(B+C)%60))
else:
print("{} {}".format(A,B+C))
[2480] 주사위 세개
해결 포인트
보기엔 비교적 간단해보이나 / 연산자를 이용하면 소숫점 까지 나타날것이다. 이를 해결하고자 int 형으로 변환하는 작업을 했지만 // 연산자를 사용하게 되면 정수로만 사용가능하다.
답안
A,B,C = map(int,input().split())
if A==B==C:
print(10000+A*1000)
elif A==B or A==C or B==C:
if A==B:
print(1000+A*100)
elif A==C:
print(1000+A*100)
elif B==C:
print(1000+B*100)
elif A!=B!=C:
if A > B and A > C:
print(A*100)
elif B > A and B> C:
print(B*100)
elif C > A and C > B:
print(C*100)