λ°˜μ‘ν˜•

πŸ•οΈ PS (BOJ) 218

[BOJ S5][C++] λ°±μ€€ 11866번 : μš”μ„Έν‘ΈμŠ€ 문제 0

https://www.acmicpc.net/problem/11866 11866번: μš”μ„Έν‘ΈμŠ€ 문제 0 첫째 쀄에 Nκ³Ό Kκ°€ 빈 칸을 사이에 두고 μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§„λ‹€. (1 ≤ K ≤ N ≤ 1,000) www.acmicpc.net 문제 μš”μ„Έν‘ΈμŠ€ λ¬Έμ œλŠ” λ‹€μŒκ³Ό κ°™λ‹€. 1λ²ˆλΆ€ν„° Nλ²ˆκΉŒμ§€ Nλͺ…μ˜ μ‚¬λžŒμ΄ 원을 μ΄λ£¨λ©΄μ„œ μ•‰μ•„μžˆκ³ , μ–‘μ˜ μ •μˆ˜ K(≤ N)κ°€ μ£Όμ–΄μ§„λ‹€. 이제 μˆœμ„œλŒ€λ‘œ K번째 μ‚¬λžŒμ„ μ œκ±°ν•œλ‹€. ν•œ μ‚¬λžŒμ΄ 제거되면 남은 μ‚¬λžŒλ“€λ‘œ 이루어진 원을 따라 이 과정을 계속해 λ‚˜κ°„λ‹€. 이 과정은 Nλͺ…μ˜ μ‚¬λžŒμ΄ λͺ¨λ‘ 제거될 λ•ŒκΉŒμ§€ κ³„μ†λœλ‹€. μ›μ—μ„œ μ‚¬λžŒλ“€μ΄ μ œκ±°λ˜λŠ” μˆœμ„œλ₯Ό (N, K)-μš”μ„Έν‘ΈμŠ€ μˆœμ—΄μ΄λΌκ³  ν•œλ‹€. 예λ₯Ό λ“€μ–΄ (7, 3)-μš”μ„Έν‘ΈμŠ€ μˆœμ—΄μ€ 이닀. Nκ³Ό Kκ°€ μ£Όμ–΄μ§€λ©΄ (N, K)-μš”μ„Έν‘ΈμŠ€ μˆœμ—΄μ„ κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨..

[BOJ S5][C++] λ°±μ€€ 7785번 : νšŒμ‚¬μ— μžˆλŠ” μ‚¬λžŒ

https://www.acmicpc.net/problem/7785 7785번: νšŒμ‚¬μ— μžˆλŠ” μ‚¬λžŒ 첫째 쀄에 λ‘œκ·Έμ— 기둝된 μΆœμž… 기둝의 수 n이 μ£Όμ–΄μ§„λ‹€. (2 ≤ n ≤ 106) λ‹€μŒ n개의 μ€„μ—λŠ” μΆœμž… 기둝이 μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§€λ©°, 각 μ‚¬λžŒμ˜ 이름이 μ£Όμ–΄μ§€κ³  "enter"λ‚˜ "leave"κ°€ μ£Όμ–΄μ§„λ‹€. "enter"인 κ²½μš°λŠ” www.acmicpc.net 문제 μƒκ·Όμ΄λŠ” 세계적인 μ†Œν”„νŠΈμ›¨μ–΄ νšŒμ‚¬ κΈ°κΈ€μ—μ„œ μΌν•œλ‹€. 이 νšŒμ‚¬μ˜ κ°€μž₯ 큰 νŠΉμ§•μ€ 자유둜운 μΆœν‡΄κ·Ό μ‹œκ°„μ΄λ‹€. λ”°λΌμ„œ, 직원듀은 λ°˜λ“œμ‹œ 9μ‹œλΆ€ν„° 6μ‹œκΉŒμ§€ νšŒμ‚¬μ— μžˆμ§€ μ•Šμ•„λ„ λœλ‹€. 각 직원은 μžκΈ°κ°€ 원할 λ•Œ μΆœκ·Όν•  수 있고, μ•„λ¬΄λ•Œλ‚˜ 퇴근할 수 μžˆλ‹€. μƒκ·Όμ΄λŠ” λͺ¨λ“  μ‚¬λžŒμ˜ μΆœμž…μΉ΄λ“œ μ‹œμŠ€ν…œμ˜ 둜그λ₯Ό κ°€μ§€κ³  μžˆλ‹€. 이 λ‘œκ·ΈλŠ” μ–΄λ–€ μ‚¬λžŒμ΄ νšŒμ‚¬μ— λ“€μ–΄μ™”λŠ”μ§€, λ‚˜κ°”..

[BOJ S5][C++] λ°±μ€€ 11723번 : μ§‘ν•©

https://www.acmicpc.net/problem/11723 11723번: μ§‘ν•© 첫째 쀄에 μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” μ—°μ‚°μ˜ 수 M (1 ≤ M ≤ 3,000,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ 쀄뢀터 M개의 쀄에 μˆ˜ν–‰ν•΄μ•Ό ν•˜λŠ” 연산이 ν•œ 쀄에 ν•˜λ‚˜μ”© μ£Όμ–΄μ§„λ‹€. www.acmicpc.net 문제 λΉ„μ–΄μžˆλŠ” 곡집합 Sκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, μ•„λž˜ 연산을 μˆ˜ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. add x: S에 xλ₯Ό μΆ”κ°€ν•œλ‹€. (1 ≤ x ≤ 20) S에 xκ°€ 이미 μžˆλŠ” κ²½μš°μ—λŠ” 연산을 λ¬΄μ‹œν•œλ‹€. remove x: Sμ—μ„œ xλ₯Ό μ œκ±°ν•œλ‹€. (1 ≤ x ≤ 20) S에 xκ°€ μ—†λŠ” κ²½μš°μ—λŠ” 연산을 λ¬΄μ‹œν•œλ‹€. check x: S에 xκ°€ 있으면 1을, μ—†μœΌλ©΄ 0을 좜λ ₯ν•œλ‹€. (1 ≤ x ≤ 20) toggle x: S에 xκ°€ 있으면 xλ₯Ό μ œκ±°ν•˜κ³ ..

[BOJ S1][C++] λ°±μ€€ 1946번 : μ‹ μž… 사원

문제 μ–Έμ œλ‚˜ μ΅œκ³ λ§Œμ„ μ§€ν–₯ν•˜λŠ” κ΅΄μ§€μ˜ λŒ€κΈ°μ—… μ§„μ˜ μ£Όμ‹νšŒμ‚¬κ°€ μ‹ κ·œ 사원 μ±„μš©μ„ μ‹€μ‹œν•œλ‹€. 인재 μ„ λ°œ μ‹œν—˜μ€ 1μ°¨ μ„œλ₯˜μ‹¬μ‚¬μ™€ 2μ°¨ λ©΄μ ‘μ‹œν—˜μœΌλ‘œ 이루어진닀. μ΅œκ³ λ§Œμ„ μ§€ν–₯ν•œλ‹€λŠ” κΈ°μ—…μ˜ 이념에 따라 그듀은 졜고의 μΈμž¬λ“€λ§Œμ„ μ‚¬μ›μœΌλ‘œ μ„ λ°œν•˜κ³  μ‹Άμ–΄ ν•œλ‹€. κ·Έλž˜μ„œ μ§„μ˜ μ£Όμ‹νšŒμ‚¬λŠ”, λ‹€λ₯Έ λͺ¨λ“  μ§€μ›μžμ™€ λΉ„κ΅ν–ˆμ„ λ•Œ μ„œλ₯˜μ‹¬μ‚¬ 성적과 λ©΄μ ‘μ‹œν—˜ 성적 쀑 적어도 ν•˜λ‚˜κ°€ λ‹€λ₯Έ μ§€μ›μžλ³΄λ‹€ λ–¨μ–΄μ§€μ§€ μ•ŠλŠ” 자만 μ„ λ°œν•œλ‹€λŠ” 원칙을 μ„Έμ› λ‹€. 즉, μ–΄λ–€ μ§€μ›μž A의 성적이 λ‹€λ₯Έ μ–΄λ–€ μ§€μ›μž B의 성적에 λΉ„ν•΄ μ„œλ₯˜ 심사 결과와 λ©΄μ ‘ 성적이 λͺ¨λ‘ λ–¨μ–΄μ§„λ‹€λ©΄ AλŠ” κ²°μ½” μ„ λ°œλ˜μ§€ μ•ŠλŠ”λ‹€. μ΄λŸ¬ν•œ 쑰건을 λ§Œμ‘±μ‹œν‚€λ©΄μ„œ, μ§„μ˜ μ£Όμ‹νšŒμ‚¬κ°€ 이번 μ‹ κ·œ 사원 μ±„μš©μ—μ„œ μ„ λ°œν•  수 μžˆλŠ” μ‹ μž…μ‚¬μ›μ˜ μ΅œλŒ€ μΈμ›μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄..

[BOJ S4][C++] λ°±μ€€ 1026번 : 보물

문제 μ˜›λ‚  μ˜›μ μ— μˆ˜ν•™μ΄ 항상 큰 κ³¨μΉ«κ±°λ¦¬μ˜€λ˜ λ‚˜λΌκ°€ μžˆμ—ˆλ‹€. 이 λ‚˜λΌμ˜ κ΅­μ™• 김지민은 λ‹€μŒκ³Ό 같은 문제λ₯Ό λ‚΄κ³  큰 μƒκΈˆμ„ κ±Έμ—ˆλ‹€. 길이가 N인 μ •μˆ˜ λ°°μ—΄ A와 Bκ°€ μžˆλ‹€. λ‹€μŒκ³Ό 같이 ν•¨μˆ˜ Sλ₯Ό μ •μ˜ν•˜μž. S = A[0] × B[0] + ... + A[N-1] × B[N-1] S의 값을 κ°€μž₯ μž‘κ²Œ λ§Œλ“€κΈ° μœ„ν•΄ A의 수λ₯Ό μž¬λ°°μ—΄ν•˜μž. 단, B에 μžˆλŠ” μˆ˜λŠ” μž¬λ°°μ—΄ν•˜λ©΄ μ•ˆ λœλ‹€. S의 μ΅œμ†Ÿκ°’μ„ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 N이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ μ€„μ—λŠ” A에 μžˆλŠ” N개의 μˆ˜κ°€ μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§€κ³ , μ…‹μ§Έ μ€„μ—λŠ” B에 μžˆλŠ” μˆ˜κ°€ μˆœμ„œλŒ€λ‘œ μ£Όμ–΄μ§„λ‹€. N은 50보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄κ³ , A와 B의 각 μ›μ†ŒλŠ” 100보닀 μž‘κ±°λ‚˜ 같은 음이 μ•„λ‹Œ μ •μˆ˜μ΄λ‹€. 좜λ ₯ 첫째 쀄에 S의 μ΅œμ†Ÿκ°’μ„ 좜λ ₯ν•œλ‹€. 풀이..

[BOJ S3][C++] λ°±μ€€ 1431번 : μ‹œλ¦¬μ–Ό 번호

https://www.acmicpc.net/problem/1431 문제 λ‹€μ†œμ΄λŠ” 기타λ₯Ό 많이 κ°€μ§€κ³  μžˆλ‹€. 그리고 각각의 κΈ°νƒ€λŠ” λͺ¨λ‘ λ‹€λ₯Έ μ‹œλ¦¬μ–Ό 번호λ₯Ό κ°€μ§€κ³  μžˆλ‹€. λ‹€μ†œμ΄λŠ” 기타λ₯Ό 빨리 μ°Ύμ•„μ„œ 빨리 μ‚¬λžŒλ“€μ—κ²Œ μ—°μ£Όν•΄μ£ΌκΈ° μœ„ν•΄μ„œ 기타λ₯Ό μ‹œλ¦¬μ–Ό 번호 μˆœμ„œλŒ€λ‘œ μ •λ ¬ν•˜κ³ μž ν•œλ‹€. λͺ¨λ“  μ‹œλ¦¬μ–Ό λ²ˆν˜ΈλŠ” μ•ŒνŒŒλ²³ λŒ€λ¬Έμž (A-Z)와 숫자 (0-9)둜 이루어져 μžˆλ‹€. μ‹œλ¦¬μ–Όλ²ˆν˜Έ Aκ°€ μ‹œλ¦¬μ–Όλ²ˆν˜Έ B의 μ•žμ— μ˜€λŠ” κ²½μš°λŠ” λ‹€μŒκ³Ό κ°™λ‹€. A와 B의 길이가 λ‹€λ₯΄λ©΄, 짧은 것이 λ¨Όμ € μ˜¨λ‹€. λ§Œμ•½ μ„œλ‘œ 길이가 κ°™λ‹€λ©΄, A의 λͺ¨λ“  자리수의 ν•©κ³Ό B의 λͺ¨λ“  자리수의 합을 λΉ„κ΅ν•΄μ„œ μž‘μ€ 합을 κ°€μ§€λŠ” 것이 λ¨Όμ €μ˜¨λ‹€. (숫자인 κ²ƒλ§Œ λ”ν•œλ‹€) λ§Œμ•½ 1,2번 λ‘˜ μ‘°κ±΄μœΌλ‘œλ„ 비ꡐ할 수 μ—†μœΌλ©΄, μ‚¬μ „μˆœμœΌλ‘œ λΉ„κ΅ν•œλ‹€. μˆ«μžκ°€ μ•ŒνŒŒλ²³λ³΄λ‹€ μ‚¬μ „μˆœμœΌλ‘œ..

[BOJ S4][C++] λ°±μ€€ 1758번 : μ•Œλ°”μƒ κ°•ν˜Έ

https://www.acmicpc.net/problem/1758 문제 μŠ€νƒ€λ°•μŠ€λŠ” μ†λ‹˜μ„ μž…μž₯μ‹œν‚¬ λ•Œ λ…νŠΉν•œ λ°©λ²•μœΌλ‘œ μž…μž₯μ‹œν‚¨λ‹€. μŠ€νƒ€λ°•μŠ€μ—μ„œλŠ” μ†λ‹˜μ„ 8μ‹œκ°€ 될 λ•Œ κΉŒμ§€, λ¬Έμ•žμ— 쀄 μ„Έμ›Œ λ†“λŠ”λ‹€. 그리고 8μ‹œκ°€ λ˜λŠ” μˆœκ°„ μ†λ‹˜λ“€μ€ λͺ¨λ‘ μž…κ΅¬μ—μ„œ 컀피λ₯Ό ν•˜λ‚˜μ”© λ°›κ³ , 자리둜 κ°„λ‹€. κ°•ν˜ΈλŠ” μž…κ΅¬μ—μ„œ 컀피λ₯Ό ν•˜λ‚˜μ”© μ£ΌλŠ” 역할을 ν•œλ‹€. μ†λ‹˜λ“€μ€ μž…κ΅¬μ— λ“€μ–΄κ°ˆ λ•Œ, κ°•ν˜Έμ—κ²Œ νŒμ„ μ€€λ‹€. μ†λ‹˜λ“€μ€ μžκΈ°κ°€ 컀피λ₯Ό λͺ‡ 번째 λ°›λŠ”μ§€μ— 따라 νŒμ„ λ‹€λ₯Έ μ•‘μˆ˜λ‘œ κ°•ν˜Έμ—κ²Œ μ€€λ‹€. 각 μ†λ‹˜μ€ κ°•ν˜Έμ—κ²Œ μ›λž˜ μ£Όλ €κ³  μƒκ°ν–ˆλ˜ 돈 - (받은 λ“±μˆ˜ - 1) 만큼의 νŒμ„ κ°•ν˜Έμ—κ²Œ μ€€λ‹€. λ§Œμ•½, μœ„μ˜ μ‹μœΌλ‘œ λ‚˜μ˜¨ 값이 음수라면, κ°•ν˜ΈλŠ” νŒμ„ 받을 수 μ—†λ‹€. 예λ₯Ό λ“€μ–΄, λ―Όν˜ΈλŠ” νŒμ„ 3원 μ£Όλ €κ³  ν–ˆκ³ , μž¬ν•„μ΄λŠ” νŒμ„ 2원, μ£Όν˜„μ΄κ°€ νŒμ„ ..

[BOJ S5][C++] 11651번: μ’Œν‘œ μ •λ ¬ν•˜κΈ° 2

https://www.acmicpc.net/problem/11651 11651번: μ’Œν‘œ μ •λ ¬ν•˜κΈ° 2 첫째 쀄에 점의 개수 N (1 ≤ N ≤ 100,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ 쀄뢀터 N개의 μ€„μ—λŠ” i번점의 μœ„μΉ˜ xi와 yiκ°€ μ£Όμ–΄μ§„λ‹€. (-100,000 ≤ xi, yi ≤ 100,000) μ’Œν‘œλŠ” 항상 μ •μˆ˜μ΄κ³ , μœ„μΉ˜κ°€ 같은 두 점은 μ—†λ‹€. www.acmicpc.net 문제 2차원 평면 μœ„μ˜ 점 Nκ°œκ°€ μ£Όμ–΄μ§„λ‹€. μ’Œν‘œλ₯Ό yμ’Œν‘œκ°€ μ¦κ°€ν•˜λŠ” 순으둜, yμ’Œν‘œκ°€ κ°™μœΌλ©΄ xμ’Œν‘œκ°€ μ¦κ°€ν•˜λŠ” μˆœμ„œλ‘œ μ •λ ¬ν•œ λ‹€μŒ 좜λ ₯ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. μž…λ ₯ 첫째 쀄에 점의 개수 N (1 ≤ N ≤ 100,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ 쀄뢀터 N개의 μ€„μ—λŠ” i번점의 μœ„μΉ˜ xi와 yiκ°€ μ£Όμ–΄μ§„λ‹€. (-100,000 ≤ xi, yi ≤..

[BOJ S4][C++] λ°±μ€€ 10825번 : ꡭ영수

문제 λ„ν˜„μ΄λ„€ 반 학생 Nλͺ…μ˜ 이름과 κ΅­μ–΄, μ˜μ–΄, μˆ˜ν•™ μ μˆ˜κ°€ μ£Όμ–΄μ§„λ‹€. μ΄λ•Œ, λ‹€μŒκ³Ό 같은 쑰건으둜 ν•™μƒμ˜ 성적을 μ •λ ¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€. κ΅­μ–΄ μ μˆ˜κ°€ κ°μ†Œν•˜λŠ” μˆœμ„œλ‘œ κ΅­μ–΄ μ μˆ˜κ°€ κ°™μœΌλ©΄ μ˜μ–΄ μ μˆ˜κ°€ μ¦κ°€ν•˜λŠ” μˆœμ„œλ‘œ κ΅­μ–΄ μ μˆ˜μ™€ μ˜μ–΄ μ μˆ˜κ°€ κ°™μœΌλ©΄ μˆ˜ν•™ μ μˆ˜κ°€ κ°μ†Œν•˜λŠ” μˆœμ„œλ‘œ λͺ¨λ“  μ μˆ˜κ°€ κ°™μœΌλ©΄ 이름이 사전 순으둜 μ¦κ°€ν•˜λŠ” μˆœμ„œλ‘œ (단, μ•„μŠ€ν‚€ μ½”λ“œμ—μ„œ λŒ€λ¬ΈμžλŠ” μ†Œλ¬Έμžλ³΄λ‹€ μž‘μœΌλ―€λ‘œ μ‚¬μ „μˆœμœΌλ‘œ μ•žμ— μ˜¨λ‹€.) μž…λ ₯ 첫째 쀄에 λ„ν˜„μ΄λ„€ 반의 ν•™μƒμ˜ 수 N (1 ≤ N ≤ 100,000)이 μ£Όμ–΄μ§„λ‹€. λ‘˜μ§Έ 쀄뢀터 ν•œ 쀄에 ν•˜λ‚˜μ”© 각 ν•™μƒμ˜ 이름, κ΅­μ–΄, μ˜μ–΄, μˆ˜ν•™ μ μˆ˜κ°€ 곡백으둜 ꡬ뢄해 μ£Όμ–΄μ§„λ‹€. μ μˆ˜λŠ” 1보닀 ν¬κ±°λ‚˜ κ°™κ³ , 100보닀 μž‘κ±°λ‚˜ 같은 μžμ—°μˆ˜μ΄λ‹€. 이름은 μ•ŒνŒŒλ²³ λŒ€μ†Œλ¬Έμžλ‘œ 이루어진 문자..

[BOJ S2][C++] λ°±μ€€ 6603번: 둜또

https://www.acmicpc.net/problem/6603 6603번: 둜또 μž…λ ₯은 μ—¬λŸ¬ 개의 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λ‘œ 이루어져 μžˆλ‹€. 각 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€λŠ” ν•œ μ€„λ‘œ 이루어져 μžˆλ‹€. 첫 번째 μˆ˜λŠ” k (6 6)개의 수λ₯Ό 골라 μ§‘ν•© Sλ₯Ό λ§Œλ“  λ‹€μŒ κ·Έ 수만 κ°€μ§€κ³  번호λ₯Ό μ„ νƒν•˜λŠ” 것이닀. 예λ₯Ό λ“€μ–΄, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 μ§‘ν•© Sμ—μ„œ 수λ₯Ό κ³ λ₯Ό 수 μžˆλŠ” 경우의 μˆ˜λŠ” 총 28가지이닀. ([1,2,3,5,8,13..

λ°˜μ‘ν˜•