From 7a4719e19ffef58b95b576a1fb5eb9d8c9d51b3b Mon Sep 17 00:00:00 2001 From: So_ob Date: Sat, 25 Jan 2025 00:17:21 +0900 Subject: [PATCH] =?UTF-8?q?solved=20=EB=B3=B4=EC=84=9D=20=EC=87=BC?= =?UTF-8?q?=ED=95=91=20-=20108.25ms=2091.9mb?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\230\245\354\210\230\353\271\210.java" | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 "Programmers/\353\263\264\354\204\235\354\207\274\355\225\221/\353\263\264\354\204\235\354\207\274\355\225\221_\354\230\245\354\210\230\353\271\210.java" diff --git "a/Programmers/\353\263\264\354\204\235\354\207\274\355\225\221/\353\263\264\354\204\235\354\207\274\355\225\221_\354\230\245\354\210\230\353\271\210.java" "b/Programmers/\353\263\264\354\204\235\354\207\274\355\225\221/\353\263\264\354\204\235\354\207\274\355\225\221_\354\230\245\354\210\230\353\271\210.java" new file mode 100644 index 0000000..27983ba --- /dev/null +++ "b/Programmers/\353\263\264\354\204\235\354\207\274\355\225\221/\353\263\264\354\204\235\354\207\274\355\225\221_\354\230\245\354\210\230\353\271\210.java" @@ -0,0 +1,38 @@ +import java.util.*; +import java.awt.Point; + +class Solution { + public int[] solution(String[] gems) { + Set gemSet = new HashSet<>(List.of(gems)); + int gemCnt = gemSet.size(); + Map statusMap = new HashMap<>(); + List list = new ArrayList<>(); + int s = 0; + for (int e = 0; e < gems.length; e++) { + statusMap.put(gems[e], statusMap.getOrDefault(gems[e], 0) + 1); + if (statusMap.size() < gemCnt) + continue; + while (true) { + list.add(new Point(s + 1, e + 1)); + s++; + statusMap.put(gems[s - 1], statusMap.get(gems[s - 1]) - 1); + if (statusMap.get(gems[s - 1]) == 0) { + statusMap.remove(gems[s - 1]); + break; + } + } + } + + Collections.sort(list, (o1, o2) -> { + if (o1.y - o1.x == o2.y - o2.x) + return o1.x - o2.x; + return (o1.y - o1.x) - (o2.y - o2.x); + }); + + int[] answer = new int[2]; + answer[0] = list.get(0).x; + answer[1] = list.get(0).y; + + return answer; + } +} \ No newline at end of file