์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- ๋น๋๊ด๋ฆฌ๋๊ตฌ ์ฐจ์ด
- ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ ํ์ด์ฌ ์๊ฐ์ด๊ณผ
- ์ ๊ทํ ์ฅ๋จ์
- ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ ํ์ด์ฌ
- Python 1000000007
- commit message convention
- ๋น๋๊ด๋ฆฌ๋๊ตฌ
- ๋ชจ๋๋ก ์ฐ์ฐ
- build.gradle ์ค์ ์ค๋ฅ
- MySQL LEFT()
- ํ๋ก์ธ์ค
- java ๋๊ธฐํ
- ๋ฐฑํธ๋ํน
- ๊ธฐ์ฌ๋จ์์ ๋ฌด๊ธฐ ์ ๊ณฑ๊ทผ
- @RequestMapping๊ณผ @GetMapping
- ๋ฌ๋ฆฌ๊ธฐ ๊ฒฝ์ฃผ ํ์ด์ฌ
- OOP์ ํน์ง
- PCB
- DDL DML DCL ์ฐจ์ด
- www.google.com๏ปฟ ๊ฒ์ํ๋ฉด ์ผ์ด๋๋ ์ผ
- finalize ์๋ ํธ์ถ
- Spring Security 5
- Spring Security ๋ฒ์ ๋ฌธ์
- RDBMS์ NoSQL ์ฐจ์ด
- ํ๋ก๊ทธ๋๋จธ์ค 142086
- ์ด์ฝํ 2021
- MySQL RIGHT()
- ์น ๋์ ๊ณผ์
- ์๊ณ ๋ฆฌ์ฆ 1000000007 ๋๋๊ธฐ
- ์คํ๋ง ๋ถํธ์ AWS๋ก ํผ์ ๊ตฌํํ๋ ์น ์๋น์ค
- Today
- Total
BUILD_SSO
Bruteforce: ๋ธ๋ฃจํธํฌ์ค/์์ ํ์ ์๊ณ ๋ฆฌ์ฆ (+๊ตฌํ) ๋ณธ๋ฌธ
Bruteforce: ๋ธ๋ฃจํธํฌ์ค/์์ ํ์ ์๊ณ ๋ฆฌ์ฆ (+๊ตฌํ)
sohyeonnn 2023. 3. 22. 15:03๐ต๊ตฌํ(์๋ฌผ๋ ์ด์ ๊ณผ ์์ ํ์(brute force))
#๊ตฌํ
- ๋จธ๋ฆฌ์์์๋ ์๊ณ ๋ฆฌ์ฆ์ ์์ค์ฝ๋๋ก ๋ฐ๊พธ๋ ๊ณผ์
- ๊ตฌํ ์ ํ์ ๋ฌธ์ ๋?
=> ํ์ด๋ฅผ ๋ ์ฌ๋ฆฌ๋ ๊ฒ์ ์ฝ์ง๋ง ์์ค์ฝ๋๋ก ์ฎ๊ธฐ๊ธฐ ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ๋ปํจ
- ์ผ๋ฐ์ ์ผ๋ก ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ์์์ 2์ฐจ์ ๊ณต๊ฐ์ 'ํ๋ ฌ(matrix)'์ ์๋ฏธ๋ก ์ฌ์ฉ๋๋ค.
=> ํ๋ ฌ์์๋ ์ผ์ชฝ์๋จ์ด (0, 0) ์ง์ ์ด๋ค.
- ์๋ฌผ๋ ์ด์
๋ฐ ์์ ํ์ ๋ฌธ์ ์์๋ 2์ฐจ์ ๊ณต๊ฐ์์์ '๋ฐฉํฅ ๋ฒกํฐ'๊ฐ ์์ฃผ ํ์ฉ๋ค๋ค.
=> ์ธ๋ก์ถ; x(์ ๋ฐฉํฅ;- / ์๋ ๋ฐฉํฅ; +), ๊ฐ๋ก์ถ; y(์ข; - / ์ฐ; +)
=> dx, dy = [0, 0, -1, 1], [-1, 1, 0, 0]
๐ต๋ธ๋ฃจํธํฌ์ค(brute force)
- ๊ฐ๋ฅํ ๋ชจ๋ ์กฐํฉ์ ๋ค ํ์ํ๋ค.(๋ต์ด ๋์ฌ๋๊น์ง)
-๋ต์ ๋ฌด์กฐ๊ฑด ์ฐพ์์๋ ์์ผ๋, ๋ต์ ์ฐพ๋๋ฐ, ๋น์ฉ์ด ๋๋ฌด ํฌ๋ค๋ ๋จ์ ์ด ์์.
=> ์๊ฐ๋ณต์ก๋๊ฐ ํฌ๋ค.
- ์ผ๋ฐ์ ์ผ๋ก ์๊ฐ๋ณต์ก๋๋ O(n!) or O(2^n)
- ๋น๊ต๋์๋งํผ for๋ฌธ์ ์์ฑํด์ผ ํ๋ฏ๋ก ๊ฐ๋
์ฑ๋ ๋จ์ด์ง๋ค.
์ํ์ข์ฐ
n = int(input())
plan = input().split()
x, y = 1, 1 #ํ์ฌ์์น
#๋ฐฉํฅ๋ฒกํฐ
dx = [0, 0, -1, 1]
dy = [-1, 1, 0, 0]
move_type = ['L', 'R', 'U', 'D']
#๊ณํ์์ ์ ํ์๋ ์ด๋ ๊ณํ์ํ๋์ฉ ํ์ธ
for i in plan:
#์ด๋ ํ ์ขํ๋ฅผ ์ค์ ํ ์ ์๋๋ก ํ๋ค.
for j in range(len(move_type)): #์ข์ฐ์ํ๋งํผ ๋ฐ๋ณต
if i == move_type[j]:
nx = x + dx[j]
ny = y + dy[j]
#๊ณต๊ฐ์ ๋ฒ์ด๋๋ ๊ฒฝ์ฐ ๋ฌด์
if nx < 1 or ny < 1 or nx > n or ny > n:
continue
#๊ณต๊ฐ์ ๋ฒ์ด๋์ง ์๋ ๊ฒฝ์ฐ ์ด๋์ ์ํํ๋ค.
x, y = nx, ny
print(x, y)
์๊ฐ
โก ์์ ํ์
h = int(input())
count = 0
for i in range(h+1): #์
for m in range(60): #๋ถ
for s in range(60): #์ด
time = str(i) + str(m) + str(s) #์๊ฐ
if '3' in time: #์๊ฐ์์ 3์ด ํฌํจ๋๋ค๋ฉด,
count += 1 #์นด์ดํธ๋ฅผ ์ฆ๊ฐ์ํด
print(count)
์์ค์ ๋์ดํธ
โก ๊ตฌํ, ์์ ํ์
โก *ํ๋ ฌ์ ์ฌ์ด์ฆ, (x, y)๋ฅผ ๊ตฌํํ๋ คํ์ผ๋ ์ณ์ง๋ชปํ ๋ฐฉ๋ฒ
data = input()
row = int(data[0])
column = int(ord(data[1])-int(ord('a'))+1)
#dx, dy๋ฅผ ์ฌ์ฉํ์ง์๊ณ ํ๋์ ๋ฆฌ์คํธ๋ก ์ฌ์ฉ ๊ฐ๋ฅ
night_dir = [(-2, -1), (-2, 1), (2, -1), (2, 1), (1, 2), (-1, 2), (1, -2), (-1, -2)]
count = 0
for night in night_dir:
next_row = row + night[0]
next_column = column + night[1]
#8*8์ง๋ฆฌ ํ ์์ ์๋ค๋ฉด
if next_row >= 1 and next_row <= 8 and next_column >= 1 and next_column <= 8:
#๊ฒฐ๊ณผ๊ฐ์ ์ฆ๊ฐ์ํจ๋ค.
count +=1
print(count)
๋ฌธ์์ด ์ฌ์ ๋ ฌ
โก *sort()-sorted()์ฐจ์ด์ / joinํจ์ / isalpha()๋ฉ์๋
s = input()
s1 = list(s)
number = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']
hap = 0 #์ซ์๋ผ๋ฆฌ ๋ํด์ฃผ๊ธฐ์ํจ
result = [] #๋น๋ฆฌ์คํธ์์ฑ
for i in s1: #๋ฆฌ์คํธ์์ ์์๋ฅผ ํ๋์ฉ ํ์ธํ๋ค
if i in number: #i๊ฐ number์ ์๋ str์ด๋ผ๋ฉด,
hap += int(i) #hap์ intํํ๋ก ๋ณํํ i๋ค์ ๋ํด์ค๋ค
else:
result.append(i) #number์ ํด๋นํ์ง ์๋๋ค๋ฉด result ๋ฆฌ์คํธ์ ์์๋๋ก appendํ๋ค.
result = sorted(result) #์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
if hap > 0: #๋ง์ฝ hap์ด 0๋ณด๋ค ํฌ๋ค๋ฉด,(์ซ์๊ฐ ์กด์ฌํ๋ค๋ฉด)
result.append(str(hap)) #number์ ํด๋นํ๋ i๋ฅผ ๋ํด์ค hap์ strํํ๋ก appendํ๋ค.
print("".join(result)) #๊ณต๋ฐฑ์์ด ๋ถ์ฌ์ ์ถ๋ ฅ
#isalpha() ๋ฉ์๋ ์ฌ์ฉํ ํ์ด ๋ฐฉ๋ฒ
s = input()
s1 = list(s)
hap = 0 #์ซ์๋ผ๋ฆฌ ๋ํด์ฃผ๊ธฐ์ํจ
result = [] #๋น๋ฆฌ์คํธ์์ฑ
for i in s1: #๋ฆฌ์คํธ์์ ์์๋ฅผ ํ๋์ฉ ํ์ธํ๋ค
if i.isalpha(): #i๊ฐ alphaํํ์ธ์ง ํ์ธํ๋ค. ๋ง๋ค๋ฉด,
result.append(i)
else:
hap += int(i)
result = sorted(result) #์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํ๋ค.
if hap > 0: #๋ง์ฝ hap์ด 0๋ณด๋ค ํฌ๋ค๋ฉด,(์ซ์๊ฐ ์กด์ฌํ๋ค๋ฉด)
result.append(str(hap)) #number์ ํด๋นํ๋ i๋ฅผ ๋ํด์ค hap์ strํํ๋ก appendํ๋ค.
print("".join(result))
*์ด๊ฒ์ด ์ทจ์ ์ ์ํ ์ฝ๋ฉ ํ ์คํธ๋ค 2021 ์ ํ๋ธ ๊ฐ์๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์ต๋๋ค.
'Problem Solving > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 14889 ์คํํธ์ ๋งํฌ python - ๋ฐฑํธ๋ํน, ์กฐํฉ (0) | 2023.03.24 |
---|---|
[๋ฐฑ์ค] 14888 ์ฐ์ฐ์ ์ฐ์ ์์ python - ๊ตฌํ, ๋ฐฑํธ๋ํน (0) | 2023.03.22 |
Greedy: ๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ (0) | 2023.03.18 |
[๋ฐฑ์ค] 2178 ๋ฏธ๋กํ์ python - BFS (0) | 2023.03.09 |
DFS/BFS ์๊ณ ๋ฆฌ์ฆ (0) | 2023.03.08 |