[알고리즘]/BOJ

[백준/Python] 기초 10제 - Day3

개발새발주발 2023. 2. 14. 19:27
728x90

 

1. 

20540번

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

 

20540번: 연길이의 이상형

졸업을 앞둔 연길이는 크리스마스가 다가올수록 외로움을 느낀다. 그런 연길이를 위해 동우는 소개팅을 시켜주지는 않고 연길이의 이상향을 찾는 것을 도와주고자 한다. MBTI 신봉자인 연길이는

www.acmicpc.net

yongil = list(input())
ideal=[]

if yongil[0] == 'E':
    ideal.append('I')
else:
    ideal.append('E')

if yongil[1] =='N':
    ideal.append('S')
else:
    ideal.append('N')

if yongil[2] =='F':
    ideal.append('T')
else:
    ideal.append('F')

if yongil[3] =='P':
    ideal.append('J')
else:
    ideal.append('P')

print(''.join(ideal))

딕셔너리를 써보려 했으나 실패하고 .. 

if문만 계속 돌렸는데 일단 맞았다. 너무 길어서 다른 방법이 없나 찾아보다 완성한 짧은 코드는 다음과 같다.

yongil = input()

ideal = ['E','I' ,'N','S','F','T','P','J']
for c in yongil:
    ideal.remove(c)
print(''.join(ideal))

어떻게 이렇게 유연한 사고를 가지죠 .. ?

 

 

2. 

11021번

 

11021번: A+B - 7

각 테스트 케이스마다 "Case #x: "를 출력한 다음, A+B를 출력한다. 테스트 케이스 번호는 1부터 시작한다.

www.acmicpc.net

t = int(input())
for i in range(1,t+1):
    a,b = map(int,input().split())
    print(f'Case #{i}: {a+b}')

변수포함 출력방법 복습하기 

 

 

 

3.

9316번

 

9316번: Hello Judge

한 줄에 하나의 Hello World, Judge i! 를 출력한다.

www.acmicpc.net

for i in range(int(input())):
    print(f'Hello World, Judge {i+1}!')

 

4.

11022번

 

11022번: A+B - 8

각 테스트 케이스마다 "Case #x: A + B = C" 형식으로 출력한다. x는 테스트 케이스 번호이고 1부터 시작하며, C는 A+B이다.

www.acmicpc.net

t = int(input())
for i in range(1,t+1):
    a,b = map(int,input().split())
    print(f'Case #{i}: {a} + {b} = {a+b}')

 

 

5. 

10178번

 

10178번: 할로윈의 사탕

할로윈데이에 한신이네는 아부지가 사탕을 나눠주신다. 하지만 한신이의 형제들은 서로 사이가 좋지않아 서른이 넘어서도 사탕을 공정하게 나누어 주지 않으면 서로 싸움이 난다. 매년 할로윈

www.acmicpc.net

for i in range(int(input())):
    c,v =map(int,input().split())
    print(f'You get {c//v} piece(s) and your dad gets {c%v} piece(s).')

 

 

6.

3035번

 

3053번: 택시 기하학

첫째 줄에는 유클리드 기하학에서 반지름이 R인 원의 넓이를, 둘째 줄에는 택시 기하학에서 반지름이 R인 원의 넓이를 출력한다. 정답과의 오차는 0.0001까지 허용한다.

www.acmicpc.net

import math

r = int(input())

u = r*r*(math.pi)
t = r*r*2

print("{:.6f}".format(u))
print("{:.6f}".format(t))

 

7. 

5361번

 

5361번: 전투 드로이드 가격

각 테스트 케이스 마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다.

www.acmicpc.net

for i in range(int(input())):
    a,b,c,d,e = map(int,input().split())
    price = a*350.34 + b*230.90 + c*190.55+ d*125.30 + e*180.90
    print('${:.2f}'.format(price))

잊지말자 소수점 붙이기 !! 

{:.2f}.format(n)

 

 

8.

2711번

 

2711번: 오타맨 고창영

첫째 줄에 테스트 케이스의 개수 T(1<=T<=1,000)가 주어진다. 각 테스트 케이스는 한 줄로 구성되어 있다. 첫 숫자는 창영이가 오타를 낸 위치이고, 두 번째 문자열은 창영이가 친 문자열이다. 문자

www.acmicpc.net

어.. str과 int형태를 한줄에서 같이 입력 받을 수 있나 ? 를 많이 고민했던 것 같다. 

하지만 무거운 고민에 비해 언제나 해답은 가볍다 .. 

둘 다 input으로 입력받은 뒤 형변환을 통해 int로 바꾸면 된다 !

for i in range(int(input())):
    n, arr =input().split()
    n= int(n)

    print(arr[:n-1],arr[n:], sep= '')

처음에는 list형태로 받아 복잡하게 생각했었다. 로컬에서는 잘 돌아가는데 백준 채점에서는 틀렸다 .. ! 

 

**실패 코드 

for i in range(int(input())):
    arr =list(input())
    n = int(arr[0])

    arr.pop(0)
    arr.pop(n)
    arr.pop(0)

    print(''.join(arr))

** 

 

 

9. 

12780번 

 

12780번: 원피스

바야흐로 지금은 대해적 시대, 밀짚모자 해적단의 선장 교정이는 어린 시절 우연히 잊지 못할 한 마디를 들었다. 그것은 바로 해적 왕 골.D.상윤이 자신이 모은 모든 보물인 원피스를 위대한 항

www.acmicpc.net

h=input()
n=input()

print(h.count(n))

count함수 ..사용!!

 

**실패 코드 

h=input()
n = input()
cnt = 0

for i in range(len(h)):
    if h[i]==n[0]:
        for j in range(len(n)):
            if h[i+j]==n[j]:
                cnt+=1
                i+=1
            else:
                exit()

print(cnt//len(n))

count함수를 떠올리기 전 무작정 코드로 작성해보았다. 

예제는 통과했는데 채점에서 계속 실패가 떴다 계속 고민해보아야겠다 .. 

 

 

 

10.

4740번 

 

4740번: 거울, 오! 거울

하나 또는 그 이상의 줄에 각각 ASCII 글자로 나타낼 수 있는 단어들(알파벳, 숫자, 공백, 구두점 등)로 구성된 문장을 입력한다. 각 문장은 최소 1글자에서 최대 80글자로 이루어져 있으며, ***을

www.acmicpc.net

 

while(1):
    str = input()
    if str=='***':
        exit()
    else:
        print(str[::-1])
 

[백준/Python] 13410 거꾸로 구구단/[파이썬]문자열 반대로 출력

1. 문제 N단 ,1~K까지 K개의 항이 주어진다. 이때 N*1, N*2, N*3 .. N*K까지의 항 각각을 뒤집어 그 중 가장 큰 값을 출력한다. 2. 배경지식 문자열 뒤집기 1. for 문 str='Hello JaeGyeong' reverse_str='' for temp in str:

0lrlokr.tistory.com

한~참 옛날에 작성했던 글이 참고가 될 듯 싶다 

 

 

오늘의 등수 : 16657 ->15596

 

아직 배우는 단계라 한번에 많이 올라가서 신기하고 재밌다 

얼른 파이썬 마스터 하고 C++배워야겠다