๐Ÿค– 157

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์ง•๊ฒ€๋‹ค๋ฆฌ ๊ฑด๋„ˆ๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/64062 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr for๋ฌธ(์‹œ๊ฐ„ ์ดˆ๊ณผ), ์Šฌ๋ผ์ด๋”ฉ ์œˆ๋„์šฐ(์‹œ๊ฐ„ ์ดˆ๊ณผ)์นด์นด์˜ค ๊ณต์‹ ํ•ด์„ค์€ ์ด๋ถ„ ํƒ์ƒ‰์„ ์ด์šฉํ•˜๋ผ๊ณ  ์ ํ˜€ ์žˆ์—ˆ์ง€๋งŒ, ํ•˜๊ธฐ ์‹ซ์—ˆ๋‹ค. (..)์งˆ๋ฌธ ๊ฒŒ์‹œํŒ์„ ๋ณด๋‹ˆ, leetcode์˜ Sliding Window Maximum ๋ฌธ์ œ์™€ ์œ ์‚ฌํ•˜๊ฒŒ ํ’€๋ฉด ๋œ๋‹ค๊ณ  ํ•œ๋‹ค. import java.util.*;class Solution { public int solution(int[] stones, int k) { Deque deque = new Array..

[๋ฐฑ์ค€/Java] ์ „ํ™”๋ฒˆํ˜ธ ๋ชฉ๋ก

https://www.acmicpc.net/problem/5052 ์ „์— ํ’€ ๋• ๋ฌธ์ž์—ด ๋น„๊ตํ•ด์„œ ํ’€์—ˆ๋Š”๋ฐ, ์ด๋ฒˆ์— ํŠธ๋ผ์ด ์จ๋ณด๋ ค๊ณ  ํ’€์—ˆ๋‹ค. ํŠธ๋ผ์ด๋Š” ๋ฌธ์ž์—ด ๊ฒ€์ƒ‰์„ ๋น ๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ๋Š” ์ž๋ฃŒ๊ตฌ์กฐ์ด๋‹ค.์ž๋ฃŒ๊ฐ€ ์ •์ˆ˜ํ˜•์ผ ๋•Œ ์ด์ง„ํƒ์ƒ‰ํŠธ๋ฆฌ๊ฐ€ O(logN)์˜ ์‹œ๊ฐ„๋ณต์žก๋„๋ฅผ ๊ฐ€์ง€๋Š”๋ฐ,๋ฌธ์ž์—ด์ผ ๋• ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๊ฐ€ M์ด๋ฉด O(MlogN) ์ด๋‹ค.์ด๋•Œ ํŠธ๋ผ์ด๋ฅผ ์ด์šฉํ•˜๋ฉด O(M)์— ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. import java.io.*;import java.util.*;public class boj5052 { private static class Trie { boolean isEnd = false; Map child = new HashMap(); public void add(String num) ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๊ฐ€์žฅ ํฐ ์ˆ˜

https://school.programmers.co.kr/learn/courses/30/lessons/42746 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ์ž˜ ์•ˆ ํ’€๋ ค์„œ ๊ฒฐ๊ตญ ๋‹ต์ง€๋ฅผ ๋ดค๋‹ค... import java.util.*;class pg42746 { public String solution(int[] numbers) { String[] snumbers = Arrays.stream(numbers) .mapToObj(number -> String.valueOf(number)) .toArray(String[]::new); ..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์บ์‹œ

https://school.programmers.co.kr/learn/courses/30/lessons/17680 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ์ฒ˜์Œ ์ฝ”๋“œimport java.util.*;class Solution { public int solution(int cacheSize, String[] cities) { if (cacheSize == 0) { return 5 * cities.length; } Deque deque = new ArrayDeque(); Set set = new HashSet()..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์˜์ƒ

https://school.programmers.co.kr/learn/courses/30/lessons/42578 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ํ‹€๋ฆฐ ์ฝ”๋“œ import java.util.*;class Solution { private int answer = 0; private Map map1 = new HashMap(); private Map map2 = new HashMap(); private int cnt = 0; private int size; private int[] res; public int solution(S..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ๊ทค ๊ณ ๋ฅด๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/138476 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ์ฒ˜์Œ ์ฝ”๋“œimport java.util.*;public class Solution { private final int MAX = 10_000_000; private class Tangerine implements Comparable { private int type; private int cnt; public Tangerine(int type, int cnt) { th..

[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค/Java] ์ตœ์†Ÿ๊ฐ’ ๋งŒ๋“ค๊ธฐ

https://school.programmers.co.kr/learn/courses/30/lessons/12941 ํ”„๋กœ๊ทธ๋ž˜๋จธ์ŠคSW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก, ์ฑ„์šฉ๊นŒ์ง€ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„programmers.co.kr ํ‹€๋ฆฐ ์ฝ”๋“œ import java.util.*;import java.util.stream.*;class Solution{ public int solution(int []A, int []B) { List listA = Arrays.stream(A) .boxed() .collect(Collectors.toList())..

๋ฐฑ์ค€ 21921: ๋ธ”๋กœ๊ทธ (Python)

https://www.acmicpc.net/problem/21921 21921๋ฒˆ: ๋ธ”๋กœ๊ทธ ์ฒซ์งธ ์ค„์— $X$์ผ ๋™์•ˆ ๊ฐ€์žฅ ๋งŽ์ด ๋“ค์–ด์˜จ ๋ฐฉ๋ฌธ์ž ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์ตœ๋Œ€ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ 0๋ช…์ด๋ผ๋ฉด SAD๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ๋งŒ์•ฝ ์ตœ๋Œ€ ๋ฐฉ๋ฌธ์ž ์ˆ˜๊ฐ€ 0๋ช…์ด ์•„๋‹Œ ๊ฒฝ์šฐ ๋‘˜์งธ ์ค„์— ๊ธฐ๊ฐ„์ด ๋ช‡ ๊ฐœ ์žˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค www.acmicpc.net ํˆฌ ํฌ์ธํ„ฐ ์ด์šฉ n, x = map(int, input().split()) visitors = list(map(int, input().split())) i = j = 0 temp = result = 0 cnt = 0 for i in range(n): # ๋ ํฌ์ธํ„ฐ ์ด๋™ while j-i < x and j < n: temp += visitors[j] j += 1 # x์ผ if j-i == x..

ํˆฌ ํฌ์ธํ„ฐ (Two Pointers)

ํˆฌ ํฌ์ธํ„ฐ ๋ฆฌ์ŠคํŠธ์— ์ˆœ์ฐจ์ ์œผ๋กœ ์ ‘๊ทผํ•ด์•ผ ํ•  ๋•Œ 2๊ฐœ์˜ ์  ์œ„์น˜๋ฅผ ๊ธฐ๋กํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌ ํŠน์ •ํ•œ ํ•ฉ์„ ๊ฐ€์ง€๋Š” ๋ถ€๋ถ„ ์—ฐ์† ์ˆ˜์—ด ์ฐพ๊ธฐ * ๊ธฐ๋ณธ์ ์œผ๋กœ ์‹œ์ž‘์ ์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚ค๋ฉด ํ•ญ์ƒ ํ•ฉ์ด ๊ฐ์†Œํ•˜๊ณ , ๋์ ์„ ์˜ค๋ฅธ์ชฝ์œผ๋กœ ์ด๋™์‹œํ‚ค๋ฉด ํ•ญ์ƒ ํ•ฉ์ด ์ฆ๊ฐ€ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํˆฌ ํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค. * ๋ฆฌ์ŠคํŠธ ๋‚ด ์›์†Œ์— ์Œ์ˆ˜ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ, ํˆฌ ํฌ์ธํ„ฐ ์•Œ๊ณ ๋ฆฌ์ฆ˜์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†๋‹ค. n = 5 # ๋ฐ์ดํ„ฐ์˜ ๊ฐœ์ˆ˜ m = 5 # ์ฐพ๊ณ ์ž ํ•˜๋Š” ๋ถ€๋ถ„ํ•ฉ data = [1, 2, 3, 2, 5] # ์ „์ฒด ์ˆ˜์—ด count = 0 interval_sum = 0 end = 0 # start๋ฅผ ์ฐจ๋ก€๋Œ€๋กœ ์ฆ๊ฐ€์‹œํ‚ค๋ฉฐ ๋ฐ˜๋ณต for start in range(n): # end๋ฅผ ๊ฐ€๋Šฅํ•œ ๋งŒํผ ์ด๋™์‹œํ‚ค๊ธฐ while interval_su..

๋ฐฑ์ค€ 16918: ๋ด„๋ฒ„๋งจ (Python)

https://www.acmicpc.net/problem/16918 16918๋ฒˆ: ๋ด„๋ฒ„๋งจ ์ฒซ์งธ ์ค„์— R, C, N (1 ≤ R, C, N ≤ 200)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ R๊ฐœ์˜ ์ค„์— ๊ฒฉ์žํŒ์˜ ์ดˆ๊ธฐ ์ƒํƒœ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๋นˆ ์นธ์€ '.'๋กœ, ํญํƒ„์€ 'O'๋กœ ์ฃผ์–ด์ง„๋‹ค. www.acmicpc.net n=0์ผ ๋•Œ: ํญํƒ„ ์„ค์น˜ n=1์ผ ๋•Œ: ๊ทธ๋Œ€๋กœ n=2์ผ ๋•Œ~: ๋‚˜๋จธ์ง€ ๋ชจ๋“  ์นธ์— ํญํƒ„ ์„ค์น˜ -> ํญ๋ฐœ ๋ฐ˜๋ณต r*c ํฌ๊ธฐ์˜ bombs ๋ฐฐ์—ด์„ ๋ชจ๋‘ 0์œผ๋กœ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , ์ดˆ๊ธฐ ์ƒํƒœ ๋ฐฐ์—ด์„ ์ž…๋ ฅ๋ฐ›์œผ๋ฉด์„œ 'O'์ธ ๋ถ€๋ถ„์€ 2๋กœ ๋ฐ”๊ฟ”์ค€๋‹ค. (0์ดˆ - 1์ดˆ ์ƒํƒœ) i=2๋ถ€ํ„ฐ n+1๊นŒ์ง€ for๋ฌธ์„ ๋Œ๋ ค์ฃผ๋ฉด์„œ 1. bombs ์ˆœํšŒํ•˜๋ฉด์„œ ๊ฐ’์„ ํ•˜๋‚˜์”ฉ ๊ฐ์†Œ์‹œํ‚ค๊ณ , 2. i๊ฐ€ ์ง์ˆ˜์ผ ๋•Œ์—๋Š” ๋ชจ๋“  ์นธ์— ํญํƒ„ ์„ค์น˜ -> 0์ธ ๋ถ€๋ถ„์„ 3์œผ๋กœ ..