본문 바로가기
✨ Club|Project/Ec.crew 코딩 스터디

𝗘𝗰.𝗰𝗿𝗲𝘄 2기 4회차 문제 풀기

by 정람지 2022. 9. 22.

정화언니< 백준 2909번 캔디 구매 >

from sys import stdin

A, B = map(int, stdin.readline().split()) # 사탕값,0값
numnum = A % (10**B) 
result = A

if numnum < 5 : # 내림
    result -= numnum 
else:
    result += (10-numnum )
print(result)

 

아 나머지가 왜 자연스럽게 1의자릿수라고 생각했지..

from sys import stdin

A, B = map(int, stdin.readline().split()) # 사탕값,0값
numnum = ((A % (10**B)) - (A%(10**(B-1))))/(10**(B-1)) 


if numnum < 5 : # 내림
    result = A - (A % (10**B))
else:
    result = A - (A % (10**B)) + (10**B)
print(result)

은채< 백준 2490번 윷놀이>

 

from sys import stdin
for _ in range(3):
        NList = list(map(int, stdin.readline().split()))
        n = NList.count(1)
        if n == 1:
            print("C")
        elif n ==2 :
            print("B")
        elif n ==3:
            print("A")
        elif n ==4:
            print("E")
        else:
            print("D")

문제를 잘 읽자

조건 놓치지말자

테스트케이스를 안 준 게 아니라 그냥 3번이다


소은< 백준 1057번 토너먼트>

 

from sys import stdin
import math

N, A, B = map(int, stdin.readline().split())
Anum = A
Bnum = B     
roundNum = 1 #1

def evenodd(w):
    if w % 2 == 0: #짝
        result = w //2
    else: #홀
        result = (w // 2) + 1
    return result

result = -1
for i in range(int(math.log2(N))+1): # 딱 맞는 경우?
    A = evenodd(A)
    B = evenodd(B)
    if A == B:
        result = roundNum
        break

    roundNum += 1

print(result)

오예~!~! 

한번에 풀어서 좋다


 

은솜< 백준 1333번 부재중 전화>

from sys import stdin
import math

N, L, D = map(int, stdin.readline().split())
reList = []
for i in range(N):
    reList.append((i+1)*L+(i*5))
    reList.append((i+1)*L+(i*5)+1)
    reList.append((i+1)*L+(i*5)+2)
    reList.append((i+1)*L+(i*5)+3)
    reList.append((i+1)*L+(i*5)+4)

i = 1
while(1):
    if D*i in reList:
        print(D*i)
        break
    if D*i >reList[-1]:
        print(D*i)
        break
    i+=1

 

이때부터 집중력 깨져서 머리가 안 돌아갔다.

값을 중간으로 해야 하는지 끝으로 생각해야 하는지 0부터시작할지 1부터 시작할지 선택하는 문제는 항상 헷갈리는 것 같다.


다예언니< 백준 25305번 커트라인>

from sys import stdin
import math

N, k = map(int, stdin.readline().split())
result =list(map(int, stdin.readline().split()))
result.sort()
print(result[N-k])

 


솔민< 백준 1402번 아무래도이문제는A번난이도인것같다>

 

 

 

 

from sys import stdin

N = int(stdin.readline())
for _ in range(N):
    A, B = list(map(int, stdin.readline().split()))
    print("yes")

wow

모르겠어서검색해봤는데

여러모로 마음에 드는 문제다. 

나도 이런 생각을 할 수 있었으면 좋겠다.

 

백준 알고리즘 1402번 아무래도이문제는A번난이도인것같다(python)

단순 수학 문제이다. A = 1*1*...1*A 또는 A = -1*-1*...-1*A 같은 식으로도 조건을 만족하기 때문에 A'는 어떤 A''든 만들 수 있다. for _ in range(int(input())): A, B = map(int, input().split()) print("yes")

jinho-study.tistory.com

 수연이 문제는.. 다음에 풀어봐야지..

<백준 14888번 연산자 끼워넣기>