BOJ/๐Ÿฅ‰

โ˜…์ •๋ ฌ ๊ธฐ์ดˆ1 - 8๋ฌธ์ œ()โ˜…

metamong 2022. 10. 5.

๐Ÿคฉ ์ •๋ ฌ ๊ธฐ์ดˆ ์œ ํ˜•์€ ์•Œ๋ ค์ง„ ์—ฌ๋Ÿฌ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ์œ ํ˜•์ด ์•„๋‹Œ, ์ง์ ‘ ์ •๋ ฌ ๋‚ด์žฅ ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๊ฑฐ๋‚˜, ๋‹จ์ˆœํžˆ ์ตœ๋Œ€/์ตœ์†Œ๋งŒ ๋ฌผ์–ด๋ณด๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์œ ํ˜•์œผ๋กœ, ๊ฐ€๋ณ๊ฒŒ ๋ณด๊ณ  ๋„˜์–ด๊ฐ€๋ฉด ์ข‹์„ ๋“ฏ ํ•˜๋‹ค!


โ˜… 2752 ์„ธ์ˆ˜์ •๋ ฌ โ˜…

 

numbers=list(map(int,input().split()))
numbers.sort()
for number in numbers:
    print(number,end=' ')
#or
#print(numbers[0], numbers[1], numbers[2])

 

๐Ÿคฉ ์ •๋ ฌํ•˜๋ฉด ๋Œ€ํ‘œ์ ์ธ ํ•จ์ˆ˜ sort()์™€ sorted()

 

๐Ÿคฉ ๋˜๋Š” map()์„ ์ด์šฉํ•ด sorted() ๊ฒฐ๊ณผ๋ฅผ ํ•œ๋ฒˆ์— string ํ˜•ํƒœ๋กœ ๋ฐ”๊พผ ๋’ค join()์œผ๋กœ ๋นˆ ๋ฌธ์ž์—ด์— ํ•œ ๋ฒˆ์— ๋ถ™์ด๋Š” ํ’€์ด๋„ ๊ฐ€๋Šฅ!

 

nums = list(map(int, input().split()))
print(" ".join(map(str, sorted(nums))))

 

* ์ฝ”๋“œ ์ถœ์ฒ˜) https://www.acmicpc.net/source/49336072

 

๐Ÿคฉ ํŒŒ์ด์ฌ์˜ asterisk(*)

 

→ ํŒŒ์ด์ฌ์—์„œ *๋Š” โ‘ ๊ณฑ์…ˆ๊ณผ ๊ฑฐ๋“ญ์ œ๊ณฑ ๋ฟ ์•„๋‹ˆ๋ผ โ‘ก๋ฆฌ์ŠคํŠธ ํ™•์žฅ, โ‘ขํ•จ์ˆ˜์˜ ๊ฐ€๋ณ€์ธ์ž, โ‘ฃUnpacking์—๋„ ์“ฐ์ธ๋‹ค

 

→ ์—ฌ๊ธฐ์„œ๋Š” โ‘ฃUnpacking์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ณ  ์‚ฌ์šฉํ•ด๋ณด๋ ค ํ•œ๋‹ค.

 *๋ผ๋Š” unpacking operator๋กœ iterable object์ธ list, tuple, string, dictionary ๋“ฑ๋“ฑ ํ•ด๋‹น iterable object๊ฐ€ ๊ฐ–๊ณ  ์žˆ๋Š” value๋ฅผ unpack! ์ฆ‰, ํ’€์–ด์ค€๋‹ค :)

 

numbers=list(map(int,input().split()))
print(*sorted(numbers))

 

→ ๋”ฐ๋ผ์„œ ์œ„ ์ฝ”๋“œ ์ฒ˜๋Ÿผ, ๊ตณ์ด list์— for๋ฌธ์„ ๋Œ๋ ค ์ผ์ผ์ด ์›์†Œ๋ฅผ ์ถœ๋ ฅํ•˜์ง€ ๋ง๊ณ , ๋‹จ์ˆœํžˆ *๋ผ๋Š” unpack ๊ธฐ๋Šฅ์„ ํ™œ์šฉํ•ด ํ•œ ๋ฒˆ์— list ๋‚ด์˜ ์›์†Œ๋ฅผ ์ญ‰~์ญ‰~ ๋ฝ‘์•„์คŒ

 

+ ํ•จ์ˆ˜์—์„œ๋„ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ธ๋‹ค +

 

num_list = [1,2,3,4,5]

def num_sum(num1,num2,num3,num4,num5):
    return num1 + num2 + num3 + num4 + num5
    
#1
num_sum(num_list[0], num_list[1], num_list[2], num_list[3], num_list[4]) #15

#2
num_sum(*num_list) #15

 

→ ์œ„ 2๋ฒˆ ์ฝ”๋“œ๋กœ ๋งค์šฐ ๊ฐ„๊ฒฐํ•˜๊ฒŒ, list ๋‚ด์˜ ์›์†Œ๋ฅผ *๋กœ ํ•œ ๋ฒˆ์— ํ•จ์ˆ˜์˜ ์ธ์ž๋กœ ๋„ฃ์–ด์คฌ์Œ

 

+ *์˜ ๋‹ค๋ฅธ ์˜ˆ +

name = ‘Michael’

first, *middle, last = name

print(first, *middle, last) #M [‘i’, ‘c’, ‘h’, ‘a’, ‘e’] l

 

  ์ฒซ ๊ธ€์ž์™€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž ์ œ์™ธ ๊ฐ€์šด๋ฐ๋Š” *๋กœ ๊ฐ€๋ณ€์ ์ธ list๊ฐ€ ๋‚˜์˜จ๋‹ค. ์ด๋ ‡๊ฒŒ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅ!

 

* unpack operator ์ถœ์ฒ˜) https://towardsdatascience.com/unpacking-operators-in-python-306ae44cd480


โ˜… 2920 ์Œ๊ณ„ โ˜…

 

numbers = list(map(int, input().split()))
print('ascending') if numbers == [i for i in range(1,9)] else print('descending') if numbers == [9-i for i in range(1,9)] else print('mixed')

 

๐Ÿคฉ ์›ํ•˜๋Š” ์ •๋ ฌ์ด c ~ C๊นŒ์ง€ ์•ŒํŒŒ๋ฒณ ์ˆœ์„œ๋กœ ๋˜์–ด ์žˆ๋‹ค. ๋Œ€๋ฌธ์ž๊ฐ€ ๋จผ์ € - ๊ทธ๋‹ค์Œ ์†Œ๋ฌธ์ž๋กœ ์ •๋ ฌ.

(์—ฌ๊ธฐ์„œ๋Š” ํ‰์†Œ๋Œ€๋กœ 1๋ถ€ํ„ฐ 9๊นŒ์ง€ ์ •๋ ฌ๋˜๋Š” sorted๋‚˜ sort()์ด์šฉํ•˜๋ฉด ํŽธํ•จ (์•„๋ž˜ ์ฒ˜๋Ÿผ))

 

a = list(map(int, input().split()))
 
if a == sorted(a):
    print('ascending')
elif a == sorted(a, reverse=True):
    print('descending')
else:
    print('mixed')

 

* ์ฝ”๋“œ ์ถœ์ฒ˜) https://j-remind.tistory.com/39


โ˜… 6764 Sounds fishy! โ˜…

 

ds = [int(input()) for _ in range(4)]

l = len(set(ds))

if l == 1:
    print('Fish At Constant Depth')
elif l == 4:
    if ds == sorted(ds):
        print('Fish Rising')
    elif ds == sorted(ds,reverse=True):
        print('Fish Diving')
    else:
        print('No Fish')
else:
    print('No Fish')

 

๐Ÿคฉ set()์˜ ๊ฒฐ๊ณผ๋กœ if๋ฌธ์„ ๋งŒ๋“ค์—ˆ๊ณ , strictly increase, strictly decrease๋Š” sort()์™€ sort(reverse=True)์ผ ๋•Œ, ์ฆ‰ ๊ฐ๊ฐ ์ •๋ ฌํ–ˆ์„ ๋•Œ ๋˜‘๊ฐ™์€ ์ง€์˜ ์—ฌ๋ถ€๋กœ ๋”ฐ์ง€๋ฉด ์ฆ๊ฐ€, ๊ฐ์†Œ ์ˆ˜์—ด์ธ์ง€ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

(*์ด ๋•Œ, ์ค‘๋ณต ์›์†Œ๋„ ์ฆ๊ฐ€, ๊ฐ์†Œ ์ˆ˜์—ด์— ๋“ค์–ด๊ฐ€๋ฏ€๋กœ, ๋ฏธ๋ฆฌ set()์˜ ๊ธธ์ด๋ฅผ ํ†ตํ•ด์„œ ๋จผ์ € ํ•„ํ„ฐ๋ง ํ•ด์คŒ! 


โ˜… 18411 ่ฉฆ้จ“ (Exam) โ˜…

 

l = list(map(int,input().split()))
l.sort()
print(l[1]+l[2])

 

๐Ÿคฉ ์„ธ ๊ฐ’ ์ค‘ ๊ฐ€์žฅ ๋†’์€ ๊ฐ’ + ์ค‘๊ฐ„๊ฐ’์„ ๊ตฌํ• ๋ ค๋ฉด sort()๋กœ ์ •๋ ฌํ•œ ๋’ค ์ฐพ์œผ๋ฉด ์‰ฝ๋‹ค!


โ˜… 20976 2 ็•ช็›ฎใซๅคงใใ„ๆ•ดๆ•ฐ (The Second Largest Integer) โ˜…

 

print(sorted(list(map(int,input().split())))[1])

 

๐Ÿคฉ sorted()๋กœ ํ•œ ๋ฒˆ์— ์ •๋ ฌํ•œ ๋‹ค์Œ, ๊ฐ€์šด๋ฐ ํฌ๊ธฐ์˜ ์ˆซ์ž๋ฅผ ๊ตฌํ•˜๊ธฐ ์œ„ํ•ด indexing ๊ตฌํ•˜๋ฉด ๋!


โ˜… 4589 Gnome Sequencing โ˜…

 

print('Gnomes:')
for _ in range(int(input())):
    gnomes = list(map(int,input().split()))

    if gnomes == sorted(gnomes) or gnomes == sorted(gnomes,reverse=True):
        print('Ordered')
    else :
        print('Unordered')

 

๐Ÿคฉ sorted()๋Š” ์ˆซ์ž๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ, sorted(reverse=True)๋Š” ์ˆซ์ž๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ!


โ˜… 17263 Sort ๋งˆ์Šคํ„ฐ ๋ฐฐ์ง€ํ›ˆ โ˜…

 

 

import sys
input=sys.stdin.readline

N=int(input())
print(max(list(map(int,input().split()))))

โ˜… 2587 ๋Œ€ํ‘œ๊ฐ’2 โ˜…

 

l=[]
for _ in range(5):
    l.append(int(input()))
l.sort()
print(int(sum(l)/5),l[2],sep='\n')

 

 

 

 

 

 

'BOJ > ๐Ÿฅ‰' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

โ˜…Implementation Beginner II - 50 Solvedโ˜…  (0) 2022.10.10
โ˜…Math & Geometry Upper-Beginner I - 30 Solvedโ˜…  (0) 2022.10.09
โ˜…Recursion Upper-Beginner - 3 Solvedโ˜…  (0) 2022.09.27
โ˜…Math Beginner II - 30 Solvedโ˜…  (0) 2022.09.20
โ˜…Basics II - 50 Solvedโ˜…  (0) 2022.09.08

๋Œ“๊ธ€