[1330번 문제]

: 이런 조건문의 경우 3가지를 기억하면 된다
1) map, input(), .split을 쓸 것

  • input()으로 넣을 값이 int(정수)이면서 여러개일 때 위 3가지를 사용
    (더 다양할 수 있지만 일단 이 문제의 경우 위와 같은 이유로 map을 사용)
    2) if-elif-else 3단계의 조건문 세트를 이용할 것
  • if -> elif(else if보다는 elif를 사용 -> else순서로 사용
  • "if 조건문 :" -> '조건문'에 ()없어도 되며, 작성 끝에는 ':'를 넣어줄 것
  • 사실... if만 써도 가능하긴 하지만 조건문 세트를 쓰는 것을 권장
    3) 너무 당연한 얘기지만 '출력'이기 때문에 print로 작성할 것
    습관적으로 print대신 return을 쓰던 나란 코린이....
A, B = map(int, input().split())
if A > B:
 print('>')
elif A < B:
 print ('<')
else:
 print ('==')

[9498번 문제]

: 코드를 보면 바로 이해되는 부분이긴 하지만 !
저번 posco에서 들었던 강의가 생각나서 첨언을 넣어보자면!!
위 문제가 90~100점은 A부터 작성되어 큰 수부터 조건이 주루룩 있다보니 자연스럽게 90점부터 조건을 넣어주어 문제가 없었지만

만약!! 60~69점은 A, 70~79점은 B 순서로 조건이 주루룩 있다보면 그대로 작성하는 실수가 있을 수 있다.
처음부터 60점 이상인 조건이 나올 경우 계속 A만 출력되게 된다.
(90점이 출력할 수 있는 조건까지 넘어갈 수가 없는 코드인 말)
때문에 더 까다로운 조건 또는 더 작은 조건부터 작성해주는 것이 필요할 수 있다.

a = int(input())
if a>=90:
    print('A')
elif a>=80:
    print('B')
elif a>=70:
    print('C')
elif a>=60:
    print('D')
else:
    print('F')

[2753번 문제]

: 이런 조건문의 경우 3가지를 기억하면 된다
1) 윤년의 조건은 2가지이다.

  • '연도가 4의 배수'이면서 ('100의 배수가'아니거나 '400의 배수')일 때
    = '연도가 4의 배수' and ('100의 배수가 아니거나'or'400의 배수')일 때
    = '4로 나눌때 0인 연도' and ('100으로 나눌때 0이 아닌 연도'or'400으로 나눌때 0인 연도')
    ='A%4==0' and ('A%100!=0'or'A%400==0')
    ( 첫줄 선언할 때 =를 쓰기 때문에 같다는 의미로 ==로 사용! 단, 부정일 경우 =를 !로 작성)
A = int(input())

if A%4==0 and (A%100!=0 or A%400==0):
    print('1')
else:
    print('0')

[14681번 문제]

: x,y축을 기준으로 '+'와 '-'를 어떻게 표현하는가?
x,y축은 0을 기준한다는 사실을 기억해보면 됩니다

x = int(input())
y = int(input())
if 0 < x and 0 < y:
    print('1')
elif x < 0 and 0 < y:
    print('2')
elif x < 0 and y < 0:
    print('3')
else :
    print('4')
x = int(input())
y = int(input())

if x > 0:
    if y > 0:
        print(1)
    else:
        print(4)
else:
    if y > 0:
        print(2)
    else:
        print(3)

[2884번 문제]

:결론적으로 주어진 시간의 45분 전 시간을 출력하도록 하면 된다
먼저 H는 시간, M은 분으로 선언한다
1. 만약 분이 45분 이상일 때는(50분,55분~)
-> (H는 그대로 출력, 분-45분=45분전 분을 출력)

  1. H==0일때 곧, 24시를 뜻한다
    -> (H가 0일 때는 무조건 23시, 45분에서 분을 뺀만큼을 60분에서 빼줌)
  2. H는 분이 60분을 초과하지 않는경우, 0인 경우를 빼고는
    -> (모두 1시간 줄어든 숫자가 된다, 분은 2번과 동일)
H, M = map(int, input().split())
if M>=45:
    print(H, M-45)
elif H==0:
    print(23, (60-(45-M)))
else:
    print(H-1, (60-(45-M)))

[2525번 문제]

:

H, M = map(int, input().split())
C =  int(input())
F = M+C

H+=F//60
M=F%60

if H>23:
    H=H%24
print(H, M)

[2480번 문제]

: 3개의 주사위를 각각 a, b, c라고 이름을 준다
총 3가지 경우이다 : 모두동일 / 2개 동일 / 모두 다름

  • 모두 동일 : a==b==c
  • 2개 동일 : 3개 중 2개가 같은 경우를 모두 적어줌
    (하나만 선택되어야하기 때문에 'or'사용)
    ->a==b or a==c or b==c
    -> 단,"1000+a100"에서 a와 c는 동일하기 때문에
    a를 넣어 서식을 만들 수 있지만
    b==c는 다른 숫자일 수 있기 때문에
    "1000+b
    100"를 쓰기 위해 조건문 1개를 추가한다
  • 3개 중 최대값 : max함수를 사용 max(a,b,c)=a,b,c 중
    최대값 1개를 뽑아주는 함수
a,b,c = map(int, input().split())

if a==b==c:
    print(10000+a*1000)
elif a==b or a==c:
    print(1000+a*100)
elif b==c:
    print(1000+b*100)
else :
    print(max(a,b,c)*100)
profile
ɪ ʜᴏᴘᴇ ᴛᴏ sᴏʟᴠᴇ ʀᴇᴀʟ ᴘʀᴏʙʟᴇᴍs👩🏻‍💻❤️

0개의 댓글