BAEKJOON : 2562, 8958, 4673

Codren·2021년 6월 10일
0
post-custom-banner

No. 2562

1. Problem




2. My Solution

import sys

arr = []

for i in range(9):
    arr.append(int(sys.stdin.readline().strip()))

max = arr[0]
count = 0
index = 0

for i in range(1,9):

    count += 1

    if arr[i] > max:
        max = arr[i]
        index = count
    
print(max)
print(index+1)




3. Others' Solutions

  • 파이썬 제공 함수 이용 (max)
import sys

arr = []

for i in range(9):
    arr.append(int(sys.stdin.readline().strip()))

print(max(arr))
print(index(max(arr))+1)




4. Learned

  • 파이썬이 제공하는 함수를 잘 이용하자




No. 8958

1. Problem




2. My Solution

  • 전에 있던 요소가 'O'인지 아닌지 판단하는 flag 변수 사용
import sys

n = int(sys.stdin.readline().strip())
ox = [sys.stdin.readline().strip() for i in range(n)]
result = []

for i in range(n):

    score = 0
    count = 1
    flag = False

    for j in range(len(ox[i])):
        if ox[i][j] == 'O' and flag == False:
            score = score + 1
            flag = True
            count += 1

        elif ox[i][j] == 'O' and flag == True:
            score = score + count
            count += 1
        
        else:
            flag = False
            count = 1
    
    result.append(score)

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




3. Others' Solutions

  • flag 기능을 없앰
import sys

n = int(sys.stdin.readline().strip())
ox = [sys.stdin.readline().strip() for i in range(n)]
result = []

for i in range(n):

    score = 0
    count = 0

    for j in range(len(ox[i])):
        if ox[i][j] == 'O':
           count += 1
        else:
            count = 0
        score += count
    
    result.append(score)

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




4. Learned

  • 굳이 필요 없는 요소는 찾아내서 없애고 꼭 필요한 기능과 변수만을 사용하자




No. 4673

1. Problem




2. My Solution

  • set - set 으로 차집합 연산 구현
def d(n):
    new_num = n
    str_n = str(n)
    for i in range(len(str_n)):
        new_num += int(str_n[i])
    constructor.add(new_num)

constructor = set()

for i in range(1,10001):
    d(i)

for i in sorted(set(range(1,10001))-constructor):
    print(i)




3. Learned

  • 중복된 값을 제거하기 위해서는 set 자료형을 이용하자
post-custom-banner

0개의 댓글