본문 바로가기

분류 전체보기165

[백준/Python] 10807번 개수 세기 문제 ■ 10807번 개수 세기 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 문제에서 요구한 N, L, V를 각각 입력 받습니다. 이 때, 정수 list L은 map으로 변경 후, 마지막에 list로 변환해줍니다. 2) list 내 같은 값을 찾아주는 메서드인 count를 활용하여 정답을 출력합니다. N = int(input()) L = list(map(int, input().split())) V = int(input()) print(L.count(V)) 3) 내장 메서드를 활용하지 않고 아래와 같은 방법으로 풀 수도 있습니다. 4) 두 코드 모두 소요 시간은 40ms로 동일하지만 내장 메서드를 활용한 코드가 조금 더 읽기 편하고 파이썬스러운 느낌이 드네요. (그러나 N을 왜 문제에서 입력 받으라고 .. 2023. 3. 16.
[백준/Python] 10951번 A+B-4 문제 ■ 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 처음에는 제가 문제를 이해하지 못해서 블로그에서 풀이를 찾아보니 while문과 try, except를 활용하여 다들 코드를 작성하셨더라고요. 핵심은 무한히 두 수를 더하는 반복문 속에서 다른 입력이 입력되면 종료하는 알고리즘입니다. while True: try: a,b = map(int, input().split()) print(a+b) except: break 2) 위의 코드처럼 while문을 활용하면 정수 이외 다른 입력이 들어오면 error가 발생하여 except 문의 break가 활성화되며 반복문이 종료됩니다. 이 코드를 채점해보면 코드 길이는 105B, 시간은 48ms가 소요된 것을 알 수 있습니다. 3) 그런데 여기서 'sys.stdin.. 2023. 3. 16.
[백준/Python] 2439번 별 찍기 -2 ■ 백준 2439 별 찍기 -2 문제 ■ 코드 풀이 아이디어는 다음과 같습니다. 1) 줄의 개수 N을 입력 받습니다. 2) 줄의 개수 N개는 한 문장 내 글자 수와 동일합니다. 3) 첫 번째 줄에는 공백 4칸과 별 1개, 총 5개의 글자가 들어가야 합니다. 파이썬에서 str type 변수를 곱하면 곱한 수 만큼 반복됩니다. 따라서 공백은 반복 마다 N에서 별이 들어가야 할 글자 수 -(i+1) 만큼을 빼줍니다. 반대로 별은 반복 마다 i+1만큼 더해줍니다. (range(N)이면, i의 범위는 0부터 N-1이니까요.) N = int(input()) for i in range(N): print(' '*(N-1-i)+'*'*(i+1)) 2023. 3. 15.