반응형

문제 설명

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


 
 

 

 

제출한 코드

import string

a = input()
num = 0

for n in range(26) :
    s = list(a)
    for i in range(len(s)):
        s[i]=s[i]=chr((ord(s[i])-ord('a')+ n)%26+ord('a'))

    try :
        s.index('i')
    except :
        num += 1

if num == 0:
    print("impossible")
else :
    print(num)

 

 

 

 

결과

 

 

 

후기

파이썬으로 카이사르 암호(=시저 암호) 만드는 법을 배웠다. 아스키 코드를 이용해서 만드므로 소문자일 때와 대문자일 때를 구분해야 하는데, 무조건 소문자로만 들어온다니까... 쉬웠던 것 같다.

 

 
 
반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

a = int(input())
b = int(input())

print(a*(b%10))
print(int((a*((b%100)-(b%10)))/10))
print(a*(int(b/100)))
print(a*b)

 

 

 

 

결과

 

 

 

후기

 

 

반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

a = int(input())
b = int(input())
c = int(input())

num = a*b*c
num_str = str(num)

num_0 = num_1 = num_2 = num_3 = num_4 = num_5 = num_6 = num_7 = num_8 = num_9 = 0

for i in range(len(num_str)) :
    if num_str[i] == '0' :
        num_0 += 1
    elif num_str[i] == '1' :
        num_1 += 1
    elif num_str[i] == '2' :
        num_2 += 1
    elif num_str[i] == '3' :
        num_3 += 1
    elif num_str[i] == '4' :
        num_4 += 1
    elif num_str[i] == '5' :
        num_5 += 1
    elif num_str[i] == '6' :
        num_6 += 1
    elif num_str[i] == '7' :
        num_7 += 1
    elif num_str[i] == '8' :
        num_8 += 1
    elif num_str[i] == '9' :
        num_9 += 1

num_list = [num_0, num_1 , num_2 , num_3 ,num_4 ,num_5 ,num_6, num_7 ,num_8, num_9]

for i in range(len(num_list)) :
    print(num_list[i])

 

 

 

 

결과

 

 

 

후기

count... 를 써도 될 것 같았는데, 과거의 나는 왜 저런 복잡한 방법을 쓴 거지...............?

반응형
반응형

 

문제 설명

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

 
 

 

 


 

 

제출한 코드

import sys

num = int(sys.stdin.readline())

for i in range(num) :
    a = int(sys.stdin.readline())
    dec = []
    while len(dec)< a*2 :
        dec.extend(map(int,sys.stdin.readline().split()))
    ts_total = 0
    da_total = 0
    for j in range(0,a*2,2) :
        if abs(dec[j]-dec[j+1])==1 :
            if (dec[j]==1 and dec[j+1]==2) :
                ts_total += 6
            elif (dec[j]==2 and dec[j+1]==1) :
                da_total += 6
            else :
                if dec[j]>dec[j+1] :
                    da_total += dec[j]+dec[j+1]
                elif dec[j]<dec[j+1] :
                    ts_total += dec[j]+dec[j+1]
        else :
            if dec[j]>dec[j+1] :
                ts_total += dec[j]
            elif dec[j]<dec[j+1] :
                da_total += dec[j+1]
    print(f"Game {i+1}: Tessa {ts_total} Danny {da_total}")

 

 

 

 

결과

 

 

 

후기

영어에 익숙해지고자 언어 상관 없이 풀고는 있는데, 이번 문제는 특히 이해가 어려웠던 것 같다.

 

힌트를 드리자면 입력은 테스트 케이스 수 - [라운드 수 - 게임 진행(라운드 수*2만큼의 정수가 공백 또는 개행으로 구분되어 출력, 즉, 몇 줄에 걸쳐 입력될 지 알 수 없음.)]의 반복 이다. 그래서 필자는 라운드 수*2 의 정수가 모두 입력될 때까지 입력을 반복(while문)하고 나서 점수를 계산했다.

 

주의할 것은 2를 1로 이겼을 때 점수는 6점을 얻게 되는 것이다. 이외로는 어렵지 않다.

 

 

 

 

 
 
반응형
반응형

 

문제 설명

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

 

 

 


 

 

제출한 코드

num = int(input())
a = [0,1,2,3,4,5,6,7,8]
a[0] = num
Max = a[0]
b = 1

for i in range (1,9):
    num = int(input())
    a[i] = num
    for j in range(1, i+2):
        if a[j-1]> Max :
            Max = a[j-1]
            b = j
        else:
            pass

print(Max)
print(b)

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형
반응형

 

문제 설명

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

 

 

 

제출한 코드

#include <stdio.h>
int main(void){
	int a, b;
	scanf("%d", &a);
	scanf("%d", &b);

	printf("%d", a+b);
	
	return 0;
}

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

print("Hello World!")

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

time = list(map(int, input().split()))
sec = int(input())

time[2] += sec

if time[2] >= 60 :
    a = time[2]//60
    time[2] = time[2]%60
    time[1] += +a
if time[1] >= 60 :
    a = time[1]//60
    time[1] = time[1]%60
    time[0] += a
if time[0] >= 24 :
    time[0] = time[0]%24

for i in range(3) :
    print(time[i], end=' ')

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

a,b=input().split()
a=int(a)
b=int(b)

c =int(input())

d=b+c
while d>59 :
    if d>59 :
        if a==23:
            a=0
            d-=60
        else:
            a+=1
            d-=60

print(a,d)

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형
반응형

문제 설명

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

 
 

 

 

제출한 코드

a,b,c = input().split()
a=int(a)
b=int(b)
c=int(c)

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

 

 

 

 

결과

 

 

 

후기

 

 

 

 

 

 
반응형

+ Recent posts