https://www.acmicpc.net/problem/2439


풀이

기존 문제에서 공백문자(" ", 스페이스)를 추가해주면 된다.

[파이썬/Python] 백준 2438번 별 찍기 - 1

 

[파이썬/Python] 백준 2438번 별 찍기 - 1

풀이N = int(input())for i in range(1,N+1): print("*"*i)

parkyongrok.tistory.com

N = int(input())

for i in range(1,N+1):
    print(" "*(N-i)+"*"*i)

https://www.acmicpc.net/problem/2438


풀이
N = int(input())

for i in range(1,N+1):
    print("*"*i)

 

https://www.acmicpc.net/problem/11022


풀이

기존 두 문제에서 출력하는 부분만 문제에서 요구하는 방식으로 꾸며주면 된다.

[파이썬/Python] 백준 10950번 A+B - 3

 

[파이썬/Python] 백준 10950번 A+B - 3

문제두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. 입력첫째 줄에 테스트 케이스의 개수 T가 주어진다.각 테스트 케이스는 한 줄로 이루어져 있으며, 각 줄에 A와 B가 주

parkyongrok.tistory.com

[파이썬/Python] 백준 11021번 A+B - 7

 

[파이썬/Python] 백준 11021번 A+B - 7

풀이기존 [파이썬/Python] 백준 10950번 A+B - 3 문제에서 출력 부분에서 f-format을 이용해 정리해준다.T = int(input())test_case = []for i in range(T): test_case.append(list(map(int,input().split())))for x in range(T): print(f"Case

parkyongrok.tistory.com

T = int(input())

test_case = []

for i in range(T):
    test_case.append(list(map(int,input().split())))

for x in range(T):
    print(f"Case #{x+1}: {test_case[x][0]} + {test_case[x][1]} = {test_case[x][0]+test_case[x][1]}")

https://www.acmicpc.net/problem/11021


풀이

기존 [파이썬/Python] 백준 10950번 A+B - 3 문제에서 출력 부분에서 f-format을 이용해 정리해준다.

T = int(input())

test_case = []

for i in range(T):
    test_case.append(list(map(int,input().split())))

for x in range(T):
    print(f"Case #{x+1}: {test_case[x][0]+test_case[x][1]}")

 

 

https://www.acmicpc.net/problem/15552


풀이

> 기존에 자주 사용하던 input() 대신 sys.stdin.readline() 사용한다

import sys

T = int(input())

test_case = []

for i in range(T):
    test_case.append(list(map(int,sys.stdin.readline().split())))

for x in range(T):
    print(test_case[x][0]+test_case[x][1])

 

https://www.acmicpc.net/problem/2480


풀이
a, b, c = map(int,input().split())

if a == b == c :
  print(10000+(a*1000))
elif a==b or b==c or a==c:
  if a==b:
    print(1000+(a*100))
  elif b==c:
    print(1000+(b*100))
  else:
    print(1000+(c*100))
else:
  print(max(a,b,c)*100)

 

https://www.acmicpc.net/problem/2525


풀이
A, B = map(int,input().split())
C = int(input())

B += C
A = A + (B//60)

A = A % 24
B = B % 60

print(A,B)

 

https://www.acmicpc.net/problem/2884


풀이
H, M = map(int, input().split())

if M < 45:
  if H == 0:
    H = 23
    M += 15
  else:
    H -= 1
    M += 15
else:
  M -= 45

print(H,M)

 

> -15%60 = 45 같이 음수롤 mod 연산하면 양수가 나온다(나머지는 항상 0보다 크거나 같아야 한다)

위의 연산적 특징을 이용하면 코드를 더욱 간결하게 줄일 수 있다.

H, M = map(int, input().split())

if M-45 < 0:
    H = (H-1)%24
    M = (M-45)%60
else:
    M = (M-45)%60

print(H,M)

https://www.acmicpc.net/problem/14681


풀이

x 좌표가 양수인지 음수인지 확인

y 좌표가 양수인지 음수인지 확인

해당하는 사분면 출력

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)

 

https://www.acmicpc.net/problem/2753


풀이
year = int(input())

if year%400==0:
  print(1)
elif year%4==0 and not year%100==0:
  print(1)
else:
  print(0)

> 윤년이 되는 조건에 대해 잘 생각해 보아야 한다.

 우선, 400의 배수인 해는 무조건적으로 윤년이므로 우선적으로 걸러낸다.

 그 후, 4의 배수이며 100의 배수가 아닌 해를 윤년으로 걸러낸다.

 나머지는 평년이다.

+ Recent posts