์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- C
- ํ์ด์ฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- ์๋ฐ
- Reversing
- ์ค๋ผํด
- ํ์ด์ฌ ์ฑ๋ฆฐ์ง
- ๋ฐฑ์ค ๋ฌ์คํธ
- Python challenge
- ์ด์์ฒด์
- Python
- ์ค๋ผํดDB
- Database
- OS
- ๋ฐฑ์ค
- ๋ฐ์ดํฐ ํต์
- Operating System
- ํ์ด์ฌ ์๊ณ ๋ฆฌ์ฆ
- ๋ฌ์คํธ ํ๋ก๊ทธ๋๋ฐ ๊ณต์ ๊ฐ์ด๋
- java
- Rust
- ์๊ณ ๋ฆฌ์ฆ
- data communication
- ubuntu
- ์ฐ๋ถํฌ
- ๋ฌ์คํธ ์์
- ํ์ด์ฌ ์ฒผ๋ฆฐ์ง
- ์๋ฐ ๊ฐ๋
- ๋ฌ์คํธ
- ์๋ฐ ๊ธฐ์ด
- Today
- Total
IT’s Portfolio
[Algorithm] Baekjoon - ์กฐ๊ฑด๋ฌธ ๋จ๊ณ ๋ณธ๋ฌธ
๐ป Baekjoon Condition Stage
๋ฌธ์ ํ๋ํ๋ ๋ค ์ฐ๊ธฐ ๊ท์ฐฎ์์ ๋จ๊ณ๋ณ๋ก ๋ชจ์ ์์ฑํ๋ ค๊ณ ํ๋ค.
โ๏ธ Leap Year
Q. ์ฐ๋๊ฐ ์ฃผ์ด์ก์ ๋, ์ค๋ ์ด๋ฉด 1, ์๋๋ฉด 0์ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ค๋ ์ ์ฐ๋๊ฐ 4์ ๋ฐฐ์์ด๋ฉด์, 100์ ๋ฐฐ์๊ฐ ์๋ ๋ ๋๋ 400์ ๋ฐฐ์์ผ ๋์ด๋ค.
์๋ฅผ ๋ค์ด, 2012๋ ์ 4์ ๋ฐฐ์์ด๋ฉด์ 100์ ๋ฐฐ์๊ฐ ์๋๋ผ์ ์ค๋ ์ด๋ค. 1900๋ ์ 100์ ๋ฐฐ์์ด๊ณ 400์ ๋ฐฐ์๋ ์๋๊ธฐ ๋๋ฌธ์ ์ค๋ ์ด ์๋๋ค. ํ์ง๋ง, 2000๋ ์ 400์ ๋ฐฐ์์ด๊ธฐ ๋๋ฌธ์ ์ค๋ ์ด๋ค.
Input. ์ฒซ์งธ ์ค์ ์ฐ๋๊ฐ ์ฃผ์ด์ง๋ค. ์ฐ๋๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 4000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์์ฐ์์ด๋ค.
Output. ์ฒซ์งธ ์ค์ ์ค๋ ์ด๋ฉด 1, ์๋๋ฉด 0์ ์ถ๋ ฅํ๋ค.
year = int(input())
if year%4==0 and year%100!=0 or year%400==0:
print(1)
else:
print(0)
โ๏ธ Choose Quadrant
Q. ์ฃผ์ด์ง ์ ์ด ์ด๋ ์ฌ๋ถ๋ฉด์ ์ํ๋์ง ๊ตฌํ์์ค.
์๋ฅผ ๋ค์ด, ์ขํ๊ฐ (12, 5)์ธ ์ A๋ x์ขํ์ y์ขํ๊ฐ ๋ชจ๋ ์์์ด๋ฏ๋ก ์ 1์ฌ๋ถ๋ฉด์ ์ํ๋ค. ์ B๋ x์ขํ๊ฐ ์์์ด๊ณ y์ขํ๊ฐ ์์์ด๋ฏ๋ก ์ 2์ฌ๋ถ๋ฉด์ ์ํ๋ค.
์ ์ ์ขํ๋ฅผ ์ ๋ ฅ๋ฐ์ ๊ทธ ์ ์ด ์ด๋ ์ฌ๋ถ๋ฉด์ ์ํ๋์ง ์์๋ด๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค. ๋จ, x์ขํ์ y์ขํ๋ ๋ชจ๋ ์์๋ ์์๋ผ๊ณ ๊ฐ์ ํ๋ค.
Input. ์ฒซ ์ค์๋ ์ ์ x๊ฐ ์ฃผ์ด์ง๋ค. (โ1000 โค x โค 1000; x โ 0) ๋ค์ ์ค์๋ ์ ์ y๊ฐ ์ฃผ์ด์ง๋ค. (โ1000 โค y โค 1000; y โ 0)
Output. ์ (x, y)์ ์ฌ๋ถ๋ฉด ๋ฒํธ(1, 2, 3, 4 ์ค ํ๋)๋ฅผ ์ถ๋ ฅํ๋ค.
a = int(input())
b = int(input())
if a>0 and b>0:
print(1)
elif a<0 and b>0:
print(2)
elif a<0 and b<0:
print(3)
else:
print(4)
Short Code
print("3421"[input()>"0"::2][input()>"0"])
3421
: ์ ๋ ฅ๋ฐ์ ๊ฐ์ ์์๋ฅผ ๊ณ ๋ คํ์ฌ ์ฌ๋ถ๋ฉด์ ๋ํ๋ธ ๋ฌธ์์ดinput()>"0"
: ํ์ด์ฌ์ ๋น๊ต์ฐ์ฐ์ ํน์ฑ์ ์์ฉํ ์ฌ๋ผ์ด์ฑ ๋ฐฉ๋ฒ0 == False
1 == True
- input()์ผ๋ก ์
๋ ฅ๋ฐ์ ๊ฐ์ด 0๋ณด๋ค ํฌ๋ฉด
[0::2]
, 0๋ณด๋ค ์์ผ๋ฉด[1::2]
โ๏ธ Alarm Clock
Q. ์๊ทผ์ด๋ ๋งค์ผ ์์นจ ์๋์ ๋ฃ๊ณ ์ผ์ด๋๋ค. ์๋์ ๋ฃ๊ณ ๋ฐ๋ก ์ผ์ด๋๋ฉด ๋คํ์ด๊ฒ ์ง๋ง, ํญ์ ์กฐ๊ธ๋ง ๋ ์๋ ค๋ ๋ง์ ๋๋ฌธ์ ๋งค์ผ ํ๊ต๋ฅผ ์ง๊ฐํ๊ณ ์๋ค.
์๊ทผ์ด๋ ๋ชจ๋ ๋ฐฉ๋ฒ์ ๋์ํด๋ณด์์ง๋ง, ์กฐ๊ธ๋ง ๋ ์๋ ค๋ ๋ง์์ ๊ทธ ์ด๋ค ๊ฒ๋ ์์จ ์๊ฐ ์์๋ค.
์ด๋ฐ ์๊ทผ์ด๋ฅผ ๋ถ์ํ๊ฒ ๋ณด๋, ์ฐฝ์์ด๋ ์์ ์ด ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ถ์ฒํด ์ฃผ์๋ค.
๋ฐ๋ก "45๋ถ ์ผ์ฐ ์๋ ์ค์ ํ๊ธฐ"์ด๋ค.
์ด ๋ฐฉ๋ฒ์ ๋จ์ํ๋ค. ์๋ ์ค์ ๋์ด ์๋ ์๋์ 45๋ถ ์์๋ ์๊ฐ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ์ด๋ค.
์ด์ฐจํผ ์๋ ์๋ฆฌ๋ฅผ ๋ค์ผ๋ฉด, ์๋์ ๋๊ณ ์กฐ๊ธ ๋ ์ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ด๋ค. ์ด ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ฉด, ๋งค์ผ ์์นจ ๋ ์ค๋ค๋ ๊ธฐ๋ถ์ ๋๋ ์ ์๊ณ , ํ๊ต๋ ์ง๊ฐํ์ง ์๊ฒ ๋๋ค.
ํ์ฌ ์๊ทผ์ด๊ฐ ์ค์ ํ ์๋ ์๊ฐ์ด ์ฃผ์ด์ก์ ๋, ์ฐฝ์์ด์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ๋ค๋ฉด, ์ด๋ฅผ ์ธ์ ๋ก ๊ณ ์ณ์ผ ํ๋์ง ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
Input. ์ฒซ์งธ ์ค์ ๋ ์ ์ H์ M์ด ์ฃผ์ด์ง๋ค. (0 โค H โค 23, 0 โค M โค 59) ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ํ์ฌ ์๊ทผ์ด๊ฐ ์ค์ ํ ๋์ ์๋ ์๊ฐ H์ M๋ถ์ ์๋ฏธํ๋ค.
์ ๋ ฅ ์๊ฐ์ 24์๊ฐ ํํ์ ์ฌ์ฉํ๋ค. 24์๊ฐ ํํ์์ ํ๋ฃจ์ ์์์ 0:0(์์ )์ด๊ณ , ๋์ 23:59(๋ค์๋ ์์ 1๋ถ ์ )์ด๋ค. ์๊ฐ์ ๋ํ๋ผ ๋, ๋ถํ์ํ 0์ ์ฌ์ฉํ์ง ์๋๋ค.
Output. ์ฒซ์งธ ์ค์ ์๊ทผ์ด๊ฐ ์ฐฝ์์ด์ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ๋, ์ค์ ํด์ผ ํ๋ ์๋ ์๊ฐ์ ์ถ๋ ฅํ๋ค. (์ ๋ ฅ๊ณผ ๊ฐ์ ํํ๋ก ์ถ๋ ฅํ๋ฉด ๋๋ค.)
H, M = map(int, input().split())
if M-45 < 0:
if H-1 < 0:
H = 23
else:
H-=1
M = 60 + (M - 45)
else:
M = M-45
print(H, M)
Short Code
H, M = map(int, input().split())
print(H-(M<45)%24, (M-45)%60)
โ๏ธ Oven Clock
Q. KOI ์ ์์์๋ ๊ฑด๊ฐ์ ์ข๊ณ ๋ง์๋ ํ์ ์ค๋ฆฌ๊ตฌ์ด ์๋ฆฌ๋ฅผ ๊ฐํธํ๊ฒ ๋ง๋๋ ์ธ๊ณต์ง๋ฅ ์ค๋ธ์ ๊ฐ๋ฐํ๋ ค๊ณ ํ๋ค.
์ธ๊ณต์ง๋ฅ ์ค๋ธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ ๋นํ ์์ ์ค๋ฆฌ ํ์ ์ฌ๋ฃ๋ฅผ ์ธ๊ณต์ง๋ฅ ์ค๋ธ์ ๋ฃ์ผ๋ฉด ๋๋ค.
๊ทธ๋ฌ๋ฉด ์ธ๊ณต์ง๋ฅ ์ค๋ธ์ ์ค๋ธ๊ตฌ์ด๊ฐ ๋๋๋ ์๊ฐ์ ๋ถ ๋จ์๋ก ์๋์ ์ผ๋ก ๊ณ์ฐํ๋ค.
๋ํ, KOI ์ ์์ ์ธ๊ณต์ง๋ฅ ์ค๋ธ ์๋ฉด์๋ ์ฌ์ฉ์์๊ฒ ํ์ ์ค๋ฆฌ๊ตฌ์ด ์๋ฆฌ๊ฐ ๋๋๋ ์๊ฐ์ ์๋ ค ์ฃผ๋ ๋์งํธ ์๊ณ๊ฐ ์๋ค.
ํ์ ์ค๋ฆฌ๊ตฌ์ด๋ฅผ ์์ํ๋ ์๊ฐ๊ณผ ์ค๋ธ๊ตฌ์ด๋ฅผ ํ๋ ๋ฐ ํ์ํ ์๊ฐ์ด ๋ถ๋จ์๋ก ์ฃผ์ด์ก์ ๋, ์ค๋ธ๊ตฌ์ด๊ฐ ๋๋๋ ์๊ฐ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
Input. ์ฒซ์งธ ์ค์๋ ํ์ฌ ์๊ฐ์ด ๋์จ๋ค. ํ์ฌ ์๊ฐ์ ์ A (0 โค A โค 23) ์ ๋ถ B (0 โค B โค 59)๊ฐ ์ ์๋ก ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ์์๋๋ก ์ฃผ์ด์ง๋ค.
๋ ๋ฒ์งธ ์ค์๋ ์๋ฆฌํ๋ ๋ฐ ํ์ํ ์๊ฐ C (0 โค C โค 1,000)๊ฐ ๋ถ ๋จ์๋ก ์ฃผ์ด์ง๋ค.
Output. ์ฒซ์งธ ์ค์ ์ข ๋ฃ๋๋ ์๊ฐ์ ์์ ๋ถ์ ๊ณต๋ฐฑ์ ์ฌ์ด์ ๋๊ณ ์ถ๋ ฅํ๋ค.
(๋จ, ์๋ 0๋ถํฐ 23๊น์ง์ ์ ์, ๋ถ์ 0๋ถํฐ 59๊น์ง์ ์ ์์ด๋ค. ๋์งํธ ์๊ณ๋ 23์ 59๋ถ์์ 1๋ถ์ด ์ง๋๋ฉด 0์ 0๋ถ์ด ๋๋ค.)
A, B, C = map(int, open(0).read().split())
print((A+(B+C)//60)%24, (B+C)%60)
open(0)๊ณผ sys.stdin์ ์ค๋ช ๋ณด๋ฌ๊ฐ๊ธฐ
โ๏ธ Three Dices
Q. 1์์๋ถํฐ 6๊น์ง์ ๋์ ๊ฐ์ง 3๊ฐ์ ์ฃผ์ฌ์๋ฅผ ๋์ ธ์ ๋ค์๊ณผ ๊ฐ์ ๊ท์น์ ๋ฐ๋ผ ์๊ธ์ ๋ฐ๋ ๊ฒ์์ด ์๋ค.
- ๊ฐ์ ๋์ด 3๊ฐ๊ฐ ๋์ค๋ฉด 10,000์+(๊ฐ์ ๋)ร1,000์์ ์๊ธ์ ๋ฐ๊ฒ ๋๋ค.
- ๊ฐ์ ๋์ด 2๊ฐ๋ง ๋์ค๋ ๊ฒฝ์ฐ์๋ 1,000์+(๊ฐ์ ๋)ร100์์ ์๊ธ์ ๋ฐ๊ฒ ๋๋ค.
- ๋ชจ๋ ๋ค๋ฅธ ๋์ด ๋์ค๋ ๊ฒฝ์ฐ์๋ (๊ทธ ์ค ๊ฐ์ฅ ํฐ ๋)ร100์์ ์๊ธ์ ๋ฐ๊ฒ ๋๋ค.
์๋ฅผ ๋ค์ด, 3๊ฐ์ ๋ 3, 3, 6์ด ์ฃผ์ด์ง๋ฉด ์๊ธ์ 1,000+3ร100์ผ๋ก ๊ณ์ฐ๋์ด 1,300์์ ๋ฐ๊ฒ ๋๋ค.
๋ 3๊ฐ์ ๋์ด 2, 2, 2๋ก ์ฃผ์ด์ง๋ฉด 10,000+2ร1,000 ์ผ๋ก ๊ณ์ฐ๋์ด 12,000์์ ๋ฐ๊ฒ ๋๋ค.
3๊ฐ์ ๋์ด 6, 2, 5๋ก ์ฃผ์ด์ง๋ฉด ๊ทธ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ด 6์ด๋ฏ๋ก 6ร100์ผ๋ก ๊ณ์ฐ๋์ด 600์์ ์๊ธ์ผ๋ก ๋ฐ๊ฒ ๋๋ค.
3๊ฐ ์ฃผ์ฌ์์ ๋์จ ๋์ด ์ฃผ์ด์ง ๋, ์๊ธ์ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑ ํ์์ค.
Input. ์ฒซ์งธ ์ค์ 3๊ฐ์ ๋์ด ๋น์นธ์ ์ฌ์ด์ ๋๊ณ ๊ฐ๊ฐ ์ฃผ์ด์ง๋ค.
Output. ์ฒซ์งธ ์ค์ ๊ฒ์์ ์๊ธ์ ์ถ๋ ฅ ํ๋ค.
Simple Think Code
a, b, c = map(int, open(0).read().split())
if a==b and b==c and a==c:
print(f'{10000+a*1000}')
elif a==b and b!=c and a!=c:
print(f'{1000+a*100}')
elif b==c and a!=b and a!=c:
print(f'{1000+b*100}')
elif a==c and a!=b and b!=c:
print(f'{1000+a*100}')
else:
print(f'{max(a,b,c)*100}')
Short Code
*_, a, b, c = sorted(input())
print(['1'+b,c][a<b<c]+'000'[a<c:])
- ํ์ด์ฌ์์ _, , *์ ์๋ฏธ์ ๋ํด์
*_, a, b, c = sorted(input())
:*_
๋ฅผ ์ฐ์ง ์๋๋ค๋ฉดa, b, c = sorted(input().split())
์ ์ฌ์ฉํด๋ ๊ด์ฐฎ์ ๊ฒ ๊ฐ์['1'+b,c]
:sorted()
๋ก ์ ๋ ฌ์ ์์ผฐ์ผ๋ b์ ๊ฐ์ด ์ค์ฌ์ด ๋ ๊ฒ์. ์ธ ๊ฐ์ ์ฃผ์ฌ์ ์ซ์๊ฐ ๋ค ๊ฐ์ง ์๋ ํ ์๊ธ์ ๋งจ ์์๋ฆฌ๋ 1์ด๊ธฐ ๋๋ฌธ์ 1์ b์ ๊ฐ์ ๋ถ์ฌ์ค[a<b<c]
: ๊ฐ์ ์ฃผ์ฌ์ ์ซ์๊ฐ ์๋์ง ํ๋ณํ๋ ์ฝ๋'000'[a<c:]
: ๊ฐ์ ์ฃผ์ฌ์ ์ซ์๊ฐ ๋ช ๊ฐ์ธ์ง ํ์ธ ํ ์ฌ๋ผ์ด์ฑ ๊ธฐ๋ฒ์ผ๋ก ๊ฐ๊ฒฉ์ ๋ง์ถฐ์ฃผ๋ ์ฝ๋
'Development Study > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] ๋นํธ ์ฐ์ฐ์ (0) | 2022.10.01 |
---|---|
[Python] eval(), exec()์ ๋ํด์ (0) | 2022.08.16 |
[Python] ํ์ด์ฌ์์ '_, *, **' ์๋ฏธ (0) | 2022.08.05 |
[Python] open(0)๊ณผ sys.stdin (0) | 2022.08.02 |
[Algorithm] Baekjoon - Test Score (0) | 2022.07.30 |