본문 바로가기
Programming Solve/BOJ

BOJ 3046 / 10162 / 10930 / 16968 / Python

by msm1029 2021. 3. 20.
반응형

파이썬 언어와 문법에 익숙해지기 위해 쉬운 문제들 위주로 풀고 있다.

 

 

 

3046번 문제 링크 : www.acmicpc.net/problem/3046

 

3046번: R2

두 숫자 R1과 R2가 있을 때, 두 수의 평균 S는 (R1+R2)/2와 같다. 상근이는 정인이 생일 선물로 두 숫자 R1과 R2를 주려고 한다. 생일 파티에서 상근이는 정인이에게 이 두 숫자를 말해주고, 정인이는

www.acmicpc.net

r1, s = map(int, input().split())

print(2*s - r1)

매우 간단한 문제.

 

 

10162번 문제 링크 : www.acmicpc.net/problem/10162

 

10162번: 전자레인지

3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은

www.acmicpc.net

import sys

n = int(input())
ans = [ 0, 0, 0 ]

while n != 0:
    if n>=300:
        n -= 300
        ans[0]+=1
    elif n>=60:
        n -= 60
        ans[1]+=1
    elif n>=10:
        n -= 10
        ans[2]+=1
    else:
        print(-1)
        sys.exit(0)

for _ in ans:
    print(_, end=" ")

그리디 알고리즘 문제

 

 

16968번 문제 링크 : www.acmicpc.net/problem/16968

 

16968번: 차량 번호판 1

00부터 99까지 총 100가지 중에서 00, 11, 22, 33, 44, 55, 66, 77, 88, 99가 불가능하다.

www.acmicpc.net

form = input()

a = len(form)
if form[0]=='d':
    ans=10
else:
    ans=26

for i in range(1, a):
    if form[i]=='c':
        if form[i-1]=='c':
            ans*=25
        else:
            ans*=26
    elif form[i]=='d':
        if form[i-1]=='d':
            ans*=9
        else:
            ans*=10

print(ans)

수학, 조합에 관한 문제

 

 

10930번 문제 링크 : www.acmicpc.net/problem/10930

 

10930번: SHA-256

첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다.

www.acmicpc.net

import hashlib

pt = input() #plaintext
ct = hashlib.sha256(pt.encode()) #encrypted text

print(ct.hexdigest())

파이썬 라이브러리를 통해 sha256 암호화

반응형

'Programming Solve > BOJ' 카테고리의 다른 글

BOJ 1541 잃어버린 괄호 / C++  (0) 2021.07.16
BOJ 1764 듣보잡 / C++  (0) 2021.07.16
BOJ 20953 / C++  (0) 2021.03.02
BOJ 11558 The game of death / C++  (0) 2021.02.12
BOJ 15312 이름 궁합 / C++  (0) 2021.02.11