# practice 1
a = [4, 9, 1, 4, 4, 2]
b = [1, 3, 4, 2, 5, 6, 7, 8, 9]
for i in range(len(b)):
c = 0
for j in range(len(a)):
if a[j] == b[i]:
c = 1
break
if c == 1:
print('O',end=' ')
else:
print('X',end=' ')
# practice 2 -DAT
a = [4, 9, 1, 4, 4, 2]
b = [1, 3, 4, 2, 5, 6, 7, 8, 9]
bucket = [0]*20 # O,X๋ฅผ ๋ด์ ๋ฐ๊ตฌ๋
for i in range(len(a)): # a์ ์๋ ์ ๋ค์ ๋จผ์ ๋ฐ๊ตฌ๋์ ์ฒดํฌ ํด์ฃผ๊ธฐ
index = a[i] # ์ฌ๊ธฐ์ index๋ ๋ฐ๊ตฌ๋์ index ๋ฒํธ
bucket[index] = 1 # ํด๋น index์๋ง 1์ ๋ฃ์ด์ค - a๊ฐ ์๋๊ณณ์ด ํ์๋จ
for i in range(len(b)): #b์ bucket์ ๋น๊ต - bucket์์ a์ ์ซ์ ์ ๋ฌด ์์ผ๋๊น!
if bucket[b[i]] == 1: # b[i]๋ b์ ๊ฐ์ ๋ปํ๋๋ฐ ์ด๊ฒ bucket์ ์ธ๋ฑ์ค ๋ฒํธ๊ฐ ๋๋ฉฐ, ๋ง์ฝ 1์ด๋ผ๋ฉด b in a
print('O', end=' ')
else:
print('X', end=' ')
# practice 3
# n๊ฐ์ ์ซ์๋ฅผ ์
๋ ฅ ๋ฐ์ ํ
# ์ด๋ค ์ซ์๊ฐ ๋ช ๊ฐ ์
๋ ฅ ๋๋์ง ์ถ๋ ฅ
n = int(input()) # 10
arr = list(map(int, input().split())) # 1 2 4 1 4 3 5 8 7 3
bucket = [0] * n #๋ฐ๊ตฌ๋ ๋ง๋ค๊ธฐ
for i in range(n): #์ฐ๋ฆฌ๊ฐ ๋ฐ๋ณต ํด์ผํ ๋ฒ์
bucket[arr[i]] += 1 # arr[i]๋ ๋ฐ๊ตฌ๋์ ์ธ๋ฑ์ค. ์ฐ๋ฆฌ๋ ๊ฐ ์ซ์๊ฐ ๋ช ๋ฒ ๋์๋์ง ๊ถ๊ธ! ๋ฐ๋ผ์ 1์ฉ ์ถ๊ฐ!
for i in range(len(bucket)): #์ด์ ๋ฐ๊ตฌ๋๋ฅผ ๋๋ฉฐ ๊ฐ ์ธ๋ฑ์ค์ ๊ฐ์ ์ถ๋ ฅ
if bucket[i] > 0: # ์๋ ์ซ์๋ค์ ๊ตณ์ด ์ถ๋ ฅ ์ํด๋ ๋๊ธฐ ๋๋ฌธ์ if๋ฌธ ์ด์ฉ
print(i,'๊ฐ',bucket[i],'๊ฐ ์์')
# COUNTING SORT -- ์ฐ๋ฆฌ์ ๋ชฉ์ sortํจ์๋ฅผ ๊ตฌํํด ๋ด๋ ๊ฒ!
# 1. bucket๋ฑ๋ก, 0์ด๊ธฐํ
# 2. ๋์ ํฉ ๊ตฌํ๊ธฐ
# 3. ๊ฐ์ ๋ฃ๊ธฐ
# practice 1
# n๊ฐ์ ์ซ์๋ฅผ ์
๋ ฅ ๋ฐ์ ํ (1~100๊น์ง์ ์ซ์๋ฅผ ์
๋ ฅ ๋ฐ๋๋ค ๊ฐ์ )
# counting sort ์ด์ฉํด ์ถ๋ ฅ ํ๊ธฐ
n = int(input()) # 9
arr = list(map(int,input().split())) # 4 7 9 1 3 5 2 3 4
bucket = [0]*101
#dat๋ฑ๋ก
for i in range(n):
bucket[arr[i]] += 1 # arr์ ๊ฐ์ bucket์ index์ด๋ฉฐ, arr ๊ฐ์ ํด๋นํ๋ bucket index์ 1์ ์ถ๊ฐํ๋ฉฐ count
#๋์ ํฉ
for i in range(1, len(bucket)): # ์์์ 1๋กํ์ฌ ์ํ (์ด๋ bucket์ len๊ฐ์ 100์ผ๋ก ์ฐ๋ฆฌ๊ฐ ์
๋ ฅํ n๋ณด๋ค ์์)
bucket[i] += bucket[i-1] #1๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ ๊ทธ ์ ๊ฐ์ ๋ํ์ฌ ๋์
#๊ฐ๋ฃ๊ธฐ
temp = [0]*101 # bucket๊ณผ ๊ฐ์ ์์ temp list๋ฅผ ๋ง๋ค์ด์ค
for i in range(n): # arr์ ์ค๋ฆ์ฐจ์์ผ๋ก ๋ฐฐ์ดํ๊ธฐ ์ํด for๋ฌธ์ ๋๋ ค์ค
temp[bucket[arr[i]]] = arr[i]
# bucket์ index๋ ์์ ๊ฐ์ด arr[i]์ด๋ฉฐ, bucket์ ๊ฐ์ temp์ index๊ฐ ๋๊ณ , ์ด ์๋ฆฌ์ arr[i] ๊ฐ์ด ๋ค์ด๊ฐ
bucket[arr[i]] -=1
# arr[i]์ค ๊ฐ์ ์ซ์๊ฐ ์๋๋ฐ, ๊ทธ ๊ฐ์ ์ซ์ ์ค ๋ค์ชฝ์ ํด๋นํ๋ ๊ฒ์ ๊ณ ์ ํด์ฃผ๋๊ฑด๋ฐ,
# ๋ฐ๋ผ์ arr[i]๋ฅผ ๋ฐฐ์นํจ์ ๋ฐ๋ผ ํด๋น bucket index์ ๊ฐ์ 1์ฉ ์ฐจ๊ฐํด์ค์ผ ํจ
#์ถ๋ ฅํ๊ธฐ
for j in temp:
if j > 0: #temp๊ฐ 0~100๊น์ง ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง๋ฏ๋ก,, ์ฐ๋ฆฌ๊ฐ ํ์ํ ๊ฐ ์ถ๋ ฅ์ ์ํด 0์ด์๋ง ์ถ๋ ฅ!
print(j, end=' ') # 1 2 3 3 4 4 5 7 9

'Problem Solving > ALGORITHM' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ ํด๋ฆฌ๋ ํธ์ ๋ฒ (์ต๋๊ณต์ฝ์), ์ต์๊ณต๋ฐฐ์ (0) | 2022.06.01 |
---|---|
deque (0) | 2022.05.31 |
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ(Greedy Algorithm) (0) | 2022.05.13 |
์์ด/๊ฐ์ง์น๊ธฐ (0) | 2022.03.15 |
๋ธ๋ฃจํธํฌ์ค ์๊ณ ๋ฆฌ์ฆ (์์ ํ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2022.03.11 |
๋๊ธ