코드업 기초 100제 (5)

Tino-Kim·2022년 1월 12일
0
post-thumbnail

🥴 코드업 기초 100제 (5)

📌 기초-종합

  • 6081: 16진수 구구단 출력하기.
n=int(input(),16) # n은 16진수이다
for ii in range(1,16): 
    print('%X'%n, '*%X'%ii, '=%X'%(n*ii), sep='')
# sep=''는 공백 없이 출력하기 위함이다

⭐ 16진수 나타내는 법~!

n=int(input(), 16) # n은 16진수이다
  • 6082: 3 6 9 게임의 왕이 되자.
    ⭐ 10으로 나눠주는 것이 포인트이다. 처음 시도 때에는 3으로 나눴을 때 나머지가 0이 되는 기준으로 했더니, 29는 포함이 되지 않아서 Error가 떴다.
n=int(input())
for ii in range(1, n+1):
    if (ii%10==3) or (ii%10==6) or (ii%10==9): # 10으로 나눠준 나머지를 기준으로
        print('X', end=' ')
    else:
        print(ii, end=' ')

⭐ sep과 end를 비교해주기~!

  • sep=" "
    이 옵션을 이용하게 되면 print문의 출력문들 사이에 해당하는 내용을 넣을 수 있다. 기본 값으로는 공백이 들어가 있으며 이를 사용해 원하는 문자를 입력할 수 있다.
    출력문 내에 부분을 고려해준다고 생각하기~!
sep=''라고 해주면, 출력문들 사이의 공백을 제거해줄 수 있다
  • end=" "
    이 옵션의 경우 print 문을 이용해 출력을 완료한 뒤의 내용을 수정할 수 있다. 기본 값으로는 줄 바꿈이 들어가 있으며 이를 사용해 개행을 없애거나 원하는 문자를 입력할 수 있습니다.
    출력문 내에 전체를 고려해준다고 생각하기~!
end=' '라고 해주면, 출력문들 사이에 개행 대신에 약간의 공백을 넣어줄 수 있다

ex.

print("1-1칸", "1-2칸", "1-3칸", end = "")
print("2-1칸", "2-2칸", "2-3칸", sep = "")
# 1-1칸 1-2칸 1-3칸2-1칸2-2칸2-3칸
# end='': 첫 번째 출력문이 끝나는 곳에 공백을 제거해준다
# sep='': 두 번째 출력문 내에 사이의 공백을 제거해준다
  • 6083: 빛 섞어 색 만들기.
    삼중 반복문을 이용해서 r,g,b를 원하는 범위까지 돌려주기.
r,g,b=input().split()
r=int(r)
g=int(g)
b=int(b)
for i in range(0,r):
    for j in range(0,g):
        for k in range(0,b):
            print(i, j, k)
print(r*g*b)
  • 6084: 소리 파일 저장용량 계산하기.
h,b,c,s=input().split()
h=int(h)
b=int(b)
c=int(c)
s=int(s)
mb=((h*b*c*s)/8)/1024**2
print(format(mb, '.1f'), 'MB', sep=' ')
# sep=' '은 기본적으로 공백이 들어가기 때문에 안 붙여도 된다
  • 6085: 그림 파일 저장용량 계산하기.
w,h,b=input().split()
w=int(w)
h=int(h)
b=int(b)
mb=((w*h*b)/8)/1024**2
print(format(mb, '.2f'), 'MB')
  • 6086: 거기까지! 이제 그만~
    ⭐ 구체적인 숫자를 대입해서 로직의 순서를 따져보면 조금 더 쉽게 코드를 짤 수 있다~!
n=int(input())
_sum=0
c=0
while True:
    _sum+=c
    if _sum>=n:
        break
    c+=1
print(_sum)
  • 6087: 3의 배수는 통과하기.
n=int(input())
for ii in range(1, n+1):
    if ii%3==0:
        continue
    print(ii, end=' ')
  • 6088: 수 나열하기 (1)
    등차수열인 n번째 정수를 구하기.
a,d,n=map(int, input().split())
print(a+d*(n-1))
  • 6089: 수 나열하기 (2)
    등비수열인 n번째 정수를 구하기.
a,r,n=map(int,input().split())
print(a*(r**(n-1)))
  • 6090: 수 나열하기 (3)
    a를 계속 update를 시켜줘야 되는 것이 key point이다.
    반복문은 n 기준으로 몇 번 돌면 되는지 생각하는 것도 중요하다.
a, m, d, n = map(int, input().split())
for i in range(1, n) :
# 3번째 숫자를 찾고 싶으면, 반복문은 2번만 돌면된다
  a = a*m+d
print(a)
  • 6091: 함께 문제 푸는 날
    최소 공배수 찾기. 1개의 숫자라도 나누었을 때 나머지가 0이 안되는 경우는 d를 +1씩 업데이트할 수 밖에 없다.
a,b,c=map(int, input().split())
d = 1 # 다 같이 문제 푸는 날
while d%a!=0 or d%b!=0 or d%c!=0 :
# 최소 공배수가 아니기 때문에
  d += 1 # 문제 푸는 날 +1
print(d) # 다 같이 문제 푸는 날

💛 2022. 01. 12. 수요일

profile
알고리즘과 데이터 과학과 웹 개발을 공부하는 대학생

0개의 댓글