Skip to content

Commit 9593bd2

Browse files
authored
Merge pull request #40 from 24-Algorithm/minjeong
Minjeong / 7์›” 2์ฃผ์ฐจ 3๋ฌธ์ œ
2 parents 70d5b14 + ae22fcd commit 9593bd2

4 files changed

+58
-0
lines changed

โ€Ž.DS_Storeโ€Ž

0 Bytes
Binary file not shown.
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
import sys
2+
sys.setrecursionlimit(10**6) # ์ตœ๋Œ€ ์žฌ๊ท€ํ•œ๋„ ๊นŠ์ด
3+
input = sys.stdin.readline
4+
5+
# ์ดˆ๊ธฐํ™”
6+
n, m = map(int, input().strip().split()) # n: ์ˆ˜์˜ ๊ฐœ์ˆ˜, m: ์กฐ๊ฑด์œผ๋กœ ์ฃผ์–ด์ง„ ํ•ฉ
7+
arr = list(map(int, input().strip().split())) # ์ˆ˜์—ด
8+
9+
prefix_sums = [0] * n
10+
prefix_sums[0] = arr[0]
11+
12+
# ๋ˆ„์ ํ•ฉ ๊ณ„์‚ฐ
13+
for i in range(1, n):
14+
prefix_sums[i] = prefix_sums[i-1] + arr[i]
15+
16+
# ๋‚˜๋จธ์ง€ ๊ฐ’ ๋นˆ๋„์ˆ˜๋ฅผ ์ €์žฅํ•  ํ•ด์‹œ๋งต
17+
mod_count = {}
18+
mod_count[0] = 1 # ์ฒ˜์Œ๋ถ€ํ„ฐ M์œผ๋กœ ๋‚˜๋ˆ„์–ด ๋–จ์–ด์ง€๋Š” ๊ฒฝ์šฐ๋ฅผ ์œ„ํ•ด ์ดˆ๊ธฐํ™”
19+
count = 0
20+
21+
# ๋ˆ„์ ํ•ฉ ๋ฐฐ์—ด ์ˆœํšŒใ…ฃ
22+
for p in prefix_sums:
23+
mod = p % m
24+
if mod in mod_count: # ๋™์ผํ•œ ๋‚˜๋จธ์ง€๊ฐ’์ด ์žˆ๋Š” ๊ฒฝ์šฐ
25+
count += mod_count[mod] # ํ•ด๋‹น ๋‚˜๋จธ์ง€ ๊ฐ‘์‹€ ๋นˆ๋„์ˆ˜๋งŒํผ count์— ๋”ํ•ด์คŒ
26+
mod_count[mod] += 1 # ํ•ด๋‹น ๋‚˜๋จธ์ง€ ๊ฐ’์˜ ๋นˆ๋„์ˆ˜ +1
27+
else:
28+
mod_count[mod] = 1 # ์ƒˆ๋กœ์šด ๋‚˜๋จธ์ง€ ๊ฐ’ ์ถ”๊ฐ€
29+
30+
print(count)
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
def solution(elements):
2+
n = len(elements)
3+
elements.extend(elements) # ์›ํ˜• ์ˆ˜์—ด์„ ์œ„ํ•ด ๋ฐฐ์—ด์„ ๋‘ ๋ฐฐ๋กœ ํ™•์žฅ
4+
5+
sums = set() # ์ค‘๋ณต์„ ํ”ผํ•˜๊ธฐ ์œ„ํ•ด set ์‚ฌ์šฉ
6+
7+
for length in range(1, n + 1): # ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด
8+
for start in range(n): # ์‹œ์ž‘ ์ธ๋ฑ์Šค
9+
sub_sum = sum(elements[start:start + length]) # ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ํ•ฉ ๊ณ„์‚ฐ
10+
sums.add(sub_sum) # set์— ์ถ”๊ฐ€
11+
12+
return len(sums) # ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ์ˆ˜์—ด ํ•ฉ์˜ ๊ฐœ์ˆ˜ ๋ฐ˜ํ™˜
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
def solution(s):
2+
answer = ''
3+
s = s.lower()
4+
5+
if s[0].isdigit():
6+
answer += s[0]
7+
else:
8+
answer += s[0].upper()
9+
10+
for i in range(1, len(s)):
11+
if s[i-1] == " ":
12+
answer += s[i].upper()
13+
else:
14+
answer += s[i]
15+
16+
return answer

0 commit comments

Comments
ย (0)