์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Factory Method Pattern
- ๊ธฐ์ด100์
- AndroidStudio
- FACTORY
- reflection
- di
- url
- fontstyle
- ์ฑ์ฉํ์ ํ
- menutab
- swagger
- URN
- ์ฝ๋์
- Kotlin
- Dialog
- ํ๋ IT&E
- Android Studio
- Python
- OOP
- datepicker
- OpenAPI
- tcp
- udp
- http method
- ๊ฐ์ฒด์งํฅํ๋ก๊ทธ๋๋ฐ
- 2024-08-21
- uri
- ์ด๋ ธํ ์ด์
- 2024-08-20
- IOC
dingdong coding
ํ๋ก๊ทธ๋๋จธ์ค Level 2 ๋ณธ๋ฌธ
ํ๋ก๊ทธ๋๋จธ์ค Level1 ์ ์ฒด ํ์ด
JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
JadenCase๋ ๋ชจ๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๊ฐ ๋๋ฌธ์์ด๊ณ , ๊ทธ ์ธ์ ์ํ๋ฒณ์ ์๋ฌธ์์ธ ๋ฌธ์์ด์
๋๋ค. ๋จ, ์ฒซ ๋ฌธ์๊ฐ ์ํ๋ฒณ์ด ์๋ ๋์๋ ์ด์ด์ง๋ ์ํ๋ฒณ์ ์๋ฌธ์๋ก ์ฐ๋ฉด ๋ฉ๋๋ค. (์ฒซ ๋ฒ์งธ ์
์ถ๋ ฅ ์ ์ฐธ๊ณ )
๋ฌธ์์ด s๊ฐ ์ฃผ์ด์ก์ ๋, s๋ฅผ JadenCase๋ก ๋ฐ๊พผ ๋ฌธ์์ด์ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด์ฃผ์ธ์.
์ ํ ์กฐ๊ฑด
- s๋ ๊ธธ์ด 1 ์ด์ 200 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
- s๋ ์ํ๋ฒณ๊ณผ ์ซ์, ๊ณต๋ฐฑ๋ฌธ์(" ")๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ซ์๋ ๋จ์ด์ ์ฒซ ๋ฌธ์๋ก๋ง ๋์ต๋๋ค.
- ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋จ์ด๋ ์์ต๋๋ค.
- ๊ณต๋ฐฑ๋ฌธ์๊ฐ ์ฐ์ํด์ ๋์ฌ ์ ์์ต๋๋ค.
# JadenCase ๋ฌธ์์ด ๋ง๋ค๊ธฐ
def solution(s):
answer = ''
arr = list(s)
if arr[0].isalpha() and arr[0].lower():
arr[0] = arr[0].upper()
for i in range(1, len(arr)):
if arr[i - 1] == ' ' and arr[i].isalpha():
arr[i] = arr[i].upper()
else:
arr[i] = arr[i].lower()
answer = ''.join(s for s in arr)
return answer
์ ์ถ๋ ฅ ์
"3people unFollowed me" | "3people Unfollowed Me" |
"for the last week" | "For The Last Week" |
ํผ๋ณด๋์น ์
ํผ๋ณด๋์น ์๋ F(0) = 0, F(1) = 1์ผ ๋, 1 ์ด์์ n์ ๋ํ์ฌ F(n) = F(n-1) + F(n-2) ๊ฐ ์ ์ฉ๋๋ ์ ์ ๋๋ค.
์๋ฅผ๋ค์ด
- F(2) = F(0) + F(1) = 0 + 1 = 1
- F(3) = F(1) + F(2) = 1 + 1 = 2
- F(4) = F(2) + F(3) = 1 + 2 = 3
- F(5) = F(3) + F(4) = 2 + 3 = 5
์ ๊ฐ์ด ์ด์ด์ง๋๋ค. 2 ์ด์์ n์ด ์ ๋ ฅ๋์์ ๋, n๋ฒ์งธ ํผ๋ณด๋์น ์๋ฅผ 1234567์ผ๋ก ๋๋ ๋๋จธ์ง๋ฅผ ๋ฆฌํดํ๋ ํจ์, solution์ ์์ฑํด ์ฃผ์ธ์.
์ ํ ์ฌํญ
- n์ 2 ์ด์ 100,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
def solution(n):
d = [0, 1, 1]
for i in range(3, n+1):
d.append((d[i-1]+d[i-2] ) % 1234567)
return d[-1]
- ์ฒ์์ ์๊ฐ๋ณต์ก๋๋ฅผ ์๊ฐํ์ง ๋ชปํ๊ณ ์ฌ๊ท๋ก ํ์๋ค๊ฐ ์๊ฐ์ด๊ณผ ๋ฐ์
- ๋ ๋ฒ์งธ๋ ๋ฆฌ์คํธ๋ฅผ ์ด๊ธฐํ ํ ํ ๋ฐ๋ณต๋ฌธ์ผ๋ก ํ์์ผ๋ ๋ฐํ์ ์๋ฌ ๋ฐ์
- ์ธ ๋ฒ์งธ ๋ฆฌ์คํธ ์ด๊ธฐํ ์์ด ๋์ ํ ๋น์ผ๋ก ํ
์ต์๊ฐ ๋ง๋ค๊ธฐ
๊ธธ์ด๊ฐ ๊ฐ์ ๋ฐฐ์ด A, B ๋๊ฐ๊ฐ ์์ต๋๋ค. ๊ฐ ๋ฐฐ์ด์ ์์ฐ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๋ฐฐ์ด A, B์์ ๊ฐ๊ฐ ํ ๊ฐ์ ์ซ์๋ฅผ ๋ฝ์ ๋ ์๋ฅผ ๊ณฑํฉ๋๋ค. ์ด๋ฌํ ๊ณผ์ ์ ๋ฐฐ์ด์ ๊ธธ์ด๋งํผ ๋ฐ๋ณตํ๋ฉฐ, ๋ ์๋ฅผ ๊ณฑํ ๊ฐ์ ๋์ ํ์ฌ ๋ํฉ๋๋ค. ์ด๋ ์ต์ข
์ ์ผ๋ก ๋์ ๋ ๊ฐ์ด ์ต์๊ฐ ๋๋๋ก ๋ง๋๋ ๊ฒ์ด ๋ชฉํ์
๋๋ค. (๋จ, ๊ฐ ๋ฐฐ์ด์์ k๋ฒ์งธ ์ซ์๋ฅผ ๋ฝ์๋ค๋ฉด ๋ค์์ k๋ฒ์งธ ์ซ์๋ ๋ค์ ๋ฝ์ ์ ์์ต๋๋ค.)
์๋ฅผ ๋ค์ด A = [1, 4, 2] , B = [5, 4, 4] ๋ผ๋ฉด
- A์์ ์ฒซ๋ฒ์งธ ์ซ์์ธ 1, B์์ ์ฒซ๋ฒ์งธ ์ซ์์ธ 5๋ฅผ ๋ฝ์ ๊ณฑํ์ฌ ๋ํฉ๋๋ค. (๋์ ๋ ๊ฐ : 0 + 5(1x5) = 5)
- A์์ ๋๋ฒ์งธ ์ซ์์ธ 4, B์์ ์ธ๋ฒ์งธ ์ซ์์ธ 4๋ฅผ ๋ฝ์ ๊ณฑํ์ฌ ๋ํฉ๋๋ค. (๋์ ๋ ๊ฐ : 5 + 16(4x4) = 21)
- A์์ ์ธ๋ฒ์งธ ์ซ์์ธ 2, B์์ ๋๋ฒ์งธ ์ซ์์ธ 4๋ฅผ ๋ฝ์ ๊ณฑํ์ฌ ๋ํฉ๋๋ค. (๋์ ๋ ๊ฐ : 21 + 8(2x4) = 29)
์ฆ, ์ด ๊ฒฝ์ฐ๊ฐ ์ต์๊ฐ ๋๋ฏ๋ก 29๋ฅผ return ํฉ๋๋ค.
๋ฐฐ์ด A, B๊ฐ ์ฃผ์ด์ง ๋ ์ต์ข ์ ์ผ๋ก ๋์ ๋ ์ต์๊ฐ์ return ํ๋ solution ํจ์๋ฅผ ์์ฑํด ์ฃผ์ธ์.
์ ํ์ฌํญ
- ๋ฐฐ์ด A, B์ ํฌ๊ธฐ : 1,000 ์ดํ์ ์์ฐ์
- ๋ฐฐ์ด A, B์ ์์์ ํฌ๊ธฐ : 1,000 ์ดํ์ ์์ฐ์
์ ์ถ๋ ฅ ์
[1, 4, 2] | [5, 4, 4] | 29 |
[1,2] | [3,4] | 10 |
def solution(A,B):
arr = []
A.sort()
B.sort(reverse=True)
for i in range(len(A)):
n = A[i] * B[i]
arr.append(n)
answer = sum(arr)
return answer
** ๊ณ์ ์ถ๊ฐํ ์์ **