๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ”‘ ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€ Python

[๋ฐฑ์ค€] ์ •๋ ฌ /ํŒŒ์ด์ฌ - 1427, 10989, 1931, 1181, 11650

by Tamii 2021. 4. 18.
๋ฐ˜์‘ํ˜•

๐Ÿ“Œ 1427๋ฒˆ ์†ŒํŠธ์ธ์‚ฌ์ด๋“œ

www.acmicpc.net/problem/1427

 

1427๋ฒˆ: ์†ŒํŠธ์ธ์‚ฌ์ด๋“œ

์ฒซ์งธ ์ค„์— ์ •๋ ฌํ•˜๊ณ ์žํ•˜๋Š” ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

๋‚ด ํ’€์ด

inp_arr = input()
ans=[]
for i in inp_arr:
    ans.append(i)
ans.sort(reverse=True)

ans="".join(ans)
print(ans)

 

๋‹ค๋ฅธ ํ’€์ด

inp_arr = list(input())
inp_arr.sort(key=int , reverse=True)
print(''.join(inp_arr))

inp_arr๋ฅผ ์ฒ˜์Œ๋ถ€ํ„ฐ list๋กœ ๋ฐ›์•„์„œ  

int ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•œ ํ›„์— 

๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ์–ด ์ถœ๋ ฅ

 


๐Ÿ“Œ 10989๋ฒˆ ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ3

 

www.acmicpc.net/problem/10989

 

10989๋ฒˆ: ์ˆ˜ ์ •๋ ฌํ•˜๊ธฐ 3

์ฒซ์งธ ์ค„์— ์ˆ˜์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 10,000,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” ์ˆซ์ž๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ด ์ˆ˜๋Š” 10,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

www.acmicpc.net

 

 

๋‚ด ํ’€์ด

n=int(input())
arr = [int(input()) for i in range(n)]
arr.sort()

for i in arr:
    print(i)

์ž…๋ ฅ์„ ๋ฐ›์•„์„œ ๋ฐฐ์—ด์— ๋„ฃ๊ณ  ์ •๋ ฌ ํ›„ ์ถœ๋ ฅํ•˜๋ ค ํ–ˆ๋‹ค.

์ฒด์ ์„ ํ•ด๋ณด๋‹ˆ ์ž๊พธ ๋ฉ”๋ชจ๋ฆฌ ์ดˆ๊ณผ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์„œ ๋‹ค๋ฅธ ํ’€์ด๋ฅผ ๋ณด๋‹ˆ,

 

์กฐ๊ฑด์ด ์ˆ˜ <10000 ์ดํ•˜๋กœ ๋งค์šฐ ํฐ ๋ฒ”์œ„๋Š” ๋žญํฌ ์ •๋ ฌ์„ ์ด์šฉํ•˜์—ฌ ์ •๋ ฌ์„ ํ•˜๋Š”๊ฒƒ์ด ํšจ์œจ์ ์ด๋ผ๋Š” ๊ฒƒ์„  ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค.

 

๋‹ค๋ฅธ ํ’€์ด

arr=[0]*10001

n=int(input())

for i in range(n):
    k=int(input())
    arr[k]+=1
    
    
for i in range(len(arr)):
    if(arr[i]!=0):
        for k in range(arr[i]):
            print(i)

๋”ฐ๋ผ์„œ ๋ฒ”์œ„๋งŒํผ์˜ ํฌ๊ธฐ๋ฅผ ์ง€๋‹Œ ๋ฐฐ์—ด์„ ๋จผ์ € ์„ ์–ธํ•˜๊ณ 

์ˆ˜๋ฅผ ์ž…๋ ฅํ•˜๋ฉด ์ž…๋ ฅํ•œ ์ˆ˜๊ฐ€ arr ๋ฐฐ์—ด์˜ index ๊ฐ€ ๋˜๊ฒŒ๋”ํ•˜์—ฌ

์ž…๋ ฅํ•  ๋•Œ๋งˆ๋‹ค ์ž…๋ ฅ๋œ ์ˆ˜์˜ ์ž๋ฆฌ๊ฐ’์„ 1์”ฉ ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋”๋‹ˆ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์—ˆ๋‹ค.

ํ•ด๋‹น๋ถ€๋ถ„ ์ถ•์•ฝ ๊ฐ€๋Šฅ

k=int(input())
    arr[k]+=1
    
    
arr[int(input())] +=1

๐Ÿ’™ ํฐ ์ˆ˜๊นŒ์ง€ ์ •๋ ฌํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

๐Ÿ“Œ 1931๋ฒˆ ํšŒ์˜์‹ค ๋ฐฐ์ •

www.acmicpc.net/problem/1931

 

1931๋ฒˆ: ํšŒ์˜์‹ค ๋ฐฐ์ •

(1,4), (5,7), (8,11), (12,14) ๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

www.acmicpc.net

๊ฐ€์žฅ ๋งŽ์€ ํšŒ์˜๋ฅผ ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์–ด๋–ค ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์ด ๋˜์•ผํ• ๊นŒ?

๋‚ด๊ฐ€ ์ƒ๊ฐํ•˜๊ธฐ์— ์งง์€ํšŒ์˜๋ฅผ ๋จผ์ € ๋นจ๋ฆฌํ•ด์•ผํ•จ 

๊ทธ๋Ÿฌ๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋๋‚˜๋Š”์‹œ๊ฐ„์ด ์งง์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ 

๋นจ๋ฆฌ ๋๋‚˜๋Š” ํšŒ์˜ ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๊ฒƒ๋“ค์„ -> ๋จผ์ € ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ๋ถ€ํ„ฐ ์ฐจ๋ก€๋กœ ์‹คํ–‰ํ•ด์•ผ ํ•˜๋‹ˆ 

์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„์ด ์งง์€ ์ˆœ์œผ๋กœ ์ •๋ ฌ 

 

๋”ฐ๋ผ์„œ ์ •๋ ฌ์„ 2๋ฒˆํ•˜๋Š”๋ฐ 1) ๋๋‚˜๋Š”์‹œ๊ฐ„ 2)์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ •๋ ฌํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

 

๋‚ด ํ’€์ด

all_time=[]
cnt=0
end_time=0

n=int(input())

for i in range(n):
    all_time.append(list(map(int,input().split())))

all_time.sort(key=lambda x: (x[1],x[0]))

for i in all_time:
    if(end_time<=i[0]):
        cnt+=1
        end_time=i[1]
        
print(cnt)

1) ํšŒ์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„

2) ํšŒ์˜ ์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„

์ด ์ˆœ์„œ๋กœ ๋ฐฐ์—ด์„ ์ •๋ ฌ ํ•œ๋‹ค

all_time = [[1,2], [3,4] ...]

๋ฐฐ์—ด๋กœ ํ†ต์งธ๋กœ ์ž…๋ ฅ ๋ฐ›์€ ํ›„์— 2๊ฐ€์ง€ ๊ธฐ์ค€ ์ˆœ์œผ๋กœ ์ •๋ ฌํ•œ ํ›„ 

๋ฐฐ์—ด์„ ๋Œ๋ฉฐ 

ํ˜„์žฌ ํšŒ์˜ ์‹œ์ž‘์‹œ๊ฐ„(i[0])>= ์ด์ „์˜ ๋๋‚˜๋Š”์‹œ๊ฐ„(end_time) ์ธ ๊ฐ€๋Šฅํ•œ ํšŒ์˜๋ฅผ count ํ•œ๋‹ค.

 

ํ•ด๋‹น๋ถ€๋ถ„ ์ถ•์•ฝ ๊ฐ€๋Šฅ

for i in range(n):
    all_time.append(list(map(int,input().split())))
    
all_time= [list(map(int(input().split())) for i in range(n)]

๐Ÿ’™ ์ฝ”๋“œ๋ฅผ ์งœ๊ธฐ ์ „์— ์–ด๋–ค ๋ฐฉ์‹์œผ๋กœ ์ •๋‹ต์ด ๋‚˜์˜ค๋Š”์ง€ ์ถฉ๋ถ„ํžˆ ๊ณ ๋ฏผํ•ด์•ผ ํ–ˆ๋‹ค.

 


๐Ÿ“Œ 1181 ๋‹จ์–ด ์ •๋ ฌ

www.acmicpc.net/problem/1181

 

1181๋ฒˆ: ๋‹จ์–ด ์ •๋ ฌ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. (1 ≤ N ≤ 20,000) ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์— ๊ฑธ์ณ ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๊ฐ€ ํ•œ ์ค„์— ํ•˜๋‚˜์”ฉ ์ฃผ์–ด์ง„๋‹ค. ์ฃผ์–ด์ง€๋Š” ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 50์„ ๋„˜์ง€ ์•Š๋Š”๋‹ค.

www.acmicpc.net

์กฐ๊ฑด์ด 2๊ฐœ 

1) ๊ธธ์ด๊ฐ€ ์งง์€ ๊ฒƒ๋ถ€ํ„ฐ

2) ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „ ์ˆœ์œผ๋กœ

 

๋‚ด๊ฐ€ ์ƒ๊ฐํ•œ ์ˆœ์„œ

1. n๋งŒํผ ๋Œ๋ฉด์„œ ๋‹จ์–ด๋“ค์„ ๋ฐฐ์—ด์— ๋„ฃ๊ธฐ

2. lambda๋กœ 1,2์งธ ๊ธฐ์ค€ ์ •๋ ฌํ•˜๊ธฐ 

 

๋‚ด ํ’€์ด

import sys
input = sys.stdin.readline

n=int(input())

word_arr= [input().strip() for i in range(n)]
word_arr=set(word_arr)
word_arr=list(word_arr)
word_arr.sort(key=lambda x:(len(x),x))


for i in word_arr:
    print(i)

์ฒ˜์Œ์—๋Š” ์ค‘๋ณต ์—†์• ๋Š” ๊ฒƒ์„ ๋†“์ณค์ง€๋งŒ,

1. ๋ชจ๋“  ๋ฌธ์ž๋“ค์„ ๋ฐฐ์—ด์— ๋„ฃ์–ด์ค€ ํ›„์— 

2. set์œผ๋กœ ์ค‘๋ณต์ œ๊ฑฐ

3. lmabda๋กœ ์กฐ๊ฑด2๊ฐœ

์™„๋ฃŒํ–ˆ๋‹ค.

 

๋‹ค๋ฅธํ’€์ด

import sys
input = sys.stdin.readline

a=set()

for i in range(int(input())):
    a.add(input().rstrip())

a=list(a)
a.sort()
a.sort(key=lambda x:len(x))
print("\n".join(a))

๋‚˜์™€ ํฌ๊ฒŒ ๋‹ค๋ฅด์ง„ ์•Š์ง€๋งŒ 100ms ์ •๋„ ๋นจ๋ผ์„œ ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฑด์ง€ ์ƒ๊ฐํ•ด ๋ณด์•˜๋‹ค.

์ถ”๋ฆฌํ•œ ๋ฐ”๋กœ๋Š”

๋‚˜๋Š” list-> set -> list ๋กœ ์ด 2๋ฒˆ์˜ ์ž‘์—…์„ ํ•˜์ง€๋งŒ

์ฒ˜์Œ๋ถ€ํ„ฐ set์œผ๋กœ ๋ฐ›์•˜๊ธฐ ๋•Œ๋ฌธ์— set -> list  ํ•œ๋ฒˆ์˜ ์ž‘์—…๋งŒ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์†๋„๊ฐ€ ๋นจ๋ผ์กŒ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค.

 

๐Ÿ’™์ง€๊ธˆ์€ ์ดˆ๋ณด์ง€๋งŒ ๋‚˜์ค‘์—๋Š” ์ฝ”๋“œ์˜ ํšจ์œจ์„ฑ, ์†๋„๋„ ๊ณ ๋ คํ•  ์ˆ˜ ์žˆ๋Š” ์ค‘์ˆ˜(?)๊ฐ€ ๋˜๋ณด์ž

 


๐Ÿ“Œ 11650 ์ขŒํ‘œ์ •๋ ฌ

www.acmicpc.net/problem/11650

 

11650๋ฒˆ: ์ขŒํ‘œ ์ •๋ ฌํ•˜๊ธฐ

์ฒซ์งธ ์ค„์— ์ ์˜ ๊ฐœ์ˆ˜ N (1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ์˜ ์ค„์—๋Š” i๋ฒˆ์ ์˜ ์œ„์น˜ xi์™€ yi๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. (-100,000 ≤ xi, yi ≤ 100,000) ์ขŒํ‘œ๋Š” ํ•ญ์ƒ ์ •์ˆ˜์ด๊ณ , ์œ„์น˜๊ฐ€ ๊ฐ™์€ ๋‘ ์ ์€ ์—†๋‹ค.

www.acmicpc.net

์œ„์™€ ๊ฐ™์€ ๋ฌธ์ œ๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ

lambda ๋กœ ๋‘๊ฐ€์ง€ ์ •๋ ฌ๊ธฐ์ค€ ์ •ํ•˜๊ธฐ

๋‹ค๋งŒ ํŒŒ์ด์ฌ์˜ list ๊ฐ’๋งŒ ๋ฝ‘์•„๋‚ด๋Š” ๋ฒ•์„ ๊นŒ๋จน์—ˆ๋‹ค

 

๋‚ดํ’€์ด

import sys
input = sys.stdin.readline

n = int(input())
points = [list(map(int,input().split())) for i in range (n)]
points.sort(key= lambda x: (x[0],x[1]))
for i in points:
   print(str(i[0])+" "+str(i[1]))

์ด๋ ‡๊ฒŒ ๋”ํ–ˆ์—‡๋Š”๋ฐ

 

ํ•ด๋‹น๋ถ€๋ถ„ ์ถ•์•ฝ ๊ฐ€๋Šฅ

for i in points:
   print(str(i[0])+" "+str(i[1]))
   
for i in proits:
	print(*i)

 

๋Œ“๊ธ€