정화 코딩

꾸준히 문제 풀기 - 1월, 2월 본문

PS

꾸준히 문제 풀기 - 1월, 2월

jungh150c 2024. 1. 15. 02:12

EDOC 과제를 다 풀고 추가로 푸는 문제들을 꾸준히 문제 풀기 글로 따로 정리하려고 한다.

 


 

1/14. 덩치 (백준 7568번)

 

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

 

#python

from sys import stdin

n = int(stdin.readline())
data = []
ans = []

for _ in range(n):
    x, y = map(int, stdin.readline().split())
    data.append([x, y])

for i in range(n):
    k = 1
    for j in range(n):
        if (data[j][0] > data[i][0]) and (data[j][1] > data[i][1]):
            k += 1
    ans.append(k)

for x in ans:
    print(x, end=" ")

간단했던 브루트포스 알고리즘 문제. (정답)

 


 

2/5. Hashing (백준 15829번)

 

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

 

#python

from sys import stdin

l = int(stdin.readline())
input = stdin.readline()
ans = 0
r = 31
m = 1234567891

for i in range(l):
    num = (ord(input[i]) - 96) * (r ** i)
    num = num % m
    ans = (ans + num) % m

print(ans)

그냥 단순 구현 문제. (정답)

 


 

2/7. 프린터 큐 (백준 1966번)

 

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

 

#python

from sys import stdin
from collections import deque

t = int(stdin.readline())

for _ in range(t):
    n, a = map(int, stdin.readline().split())
    data = list(map(int, stdin.readline().split()))
    que = deque()
    for i in range(n):
        que.append((i, data[i]))
    
    cnt = 0
    while que:
        now = que.popleft()
        available = True
        for x in que:
            if x[1] > now[1]:
                available = False
                break
        if available:
            cnt += 1
            if now[0] == a:
                print(cnt)
        else:
            que.append(now)

큐를 이용해서 문제에서 주어진 대로 구현만 하면 되었던 간단한 문제. (정답)

 

'PS' 카테고리의 다른 글

C++과 친해지기  (0) 2024.04.10
꾸준히 문제 풀기 - 2월 말  (0) 2024.02.20
꾸준히 문제 풀기 - 9월 4주차  (0) 2023.09.19
꾸준히 문제 풀기 - 9월 3주차  (0) 2023.09.18
EDOC 코딩테스트  (1) 2023.09.04
Comments