From 4578d8529440d16120131afd5c38fa4c78e884a3 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Tue, 9 Jan 2024 23:57:37 +0900 Subject: [PATCH 1/7] =?UTF-8?q?Create=2012914=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...12914_\354\240\204\354\247\200\355\235\254.java" | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 "5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" diff --git "a/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" new file mode 100644 index 0000000..b95ad11 --- /dev/null +++ "b/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" @@ -0,0 +1,13 @@ +class Solution { + public long solution(int n) { + long[] dp = new long[n + 1]; + dp[1] = 1; + dp[2] = 2; + + for (int i = 3; i <= n; i++) { + dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567; + } + + return dp[n]; + } +} From a04206fae62f2af1f2776b1686b5326a8a338a61 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Wed, 10 Jan 2024 00:28:00 +0900 Subject: [PATCH 2/7] =?UTF-8?q?Update=2012914=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\240\204\354\247\200\355\235\254.java" | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git "a/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" index b95ad11..3292f69 100644 --- "a/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" +++ "b/5\354\243\274\354\260\250/12914/12914_\354\240\204\354\247\200\355\235\254.java" @@ -1,13 +1,17 @@ class Solution { - public long solution(int n) { - long[] dp = new long[n + 1]; - dp[1] = 1; - dp[2] = 2; + public long solution(int n) { + long answer = 0; - for (int i = 3; i <= n; i++) { - dp[i] = (dp[i - 1] + dp[i - 2]) % 1234567; - } + if(n >= 1 && n <= 2000) { + long[] dp = new long[n + 1]; + dp[0] = 1; + dp[1] = 2; + for(int i = 2; i < n; i++) { + dp[i] = (dp[i - 2] + dp[i - 1]) % 1234567; + } + answer = dp[n - 1]; + } - return dp[n]; - } + return answer; + } } From 31a7eb1f27eb8bf33419559ce9b0d514a55436ee Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Wed, 10 Jan 2024 02:29:35 +0900 Subject: [PATCH 3/7] =?UTF-8?q?Update=2012914=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit From d5252976ba930a206b02b7dd4b8031c08e0e0003 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Thu, 11 Jan 2024 23:56:46 +0900 Subject: [PATCH 4/7] =?UTF-8?q?Create=20131127=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\240\204\354\247\200\355\235\254.java" | 35 +++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 "5\354\243\274\354\260\250/131127/131127_\354\240\204\354\247\200\355\235\254.java" diff --git "a/5\354\243\274\354\260\250/131127/131127_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/131127/131127_\354\240\204\354\247\200\355\235\254.java" new file mode 100644 index 0000000..338d0b5 --- /dev/null +++ "b/5\354\243\274\354\260\250/131127/131127_\354\240\204\354\247\200\355\235\254.java" @@ -0,0 +1,35 @@ +import java.util.*; + +class Solution { + public int solution(String[] want, int[] number, String[] discount) { + int answer = 0; + int count = 10; + + Map map = new HashMap<>(); + + for(int i = 0; i < want.length; i++){ + map.put(want[i], number[i]); + } + + for(int i = 0; i < discount.length - count + 1; i++){ + Map hashMap = new HashMap<>(); + + for(int j = 0; j < count; j++){ + hashMap.put(discount[i + j], hashMap.getOrDefault(discount[i + j], 0) + 1); + } + + Boolean isIdentical = true; + + for(String key : map.keySet()){ + if(map.get(key) != hashMap.get(key)){ + isIdentical = false; + break; + } + } + + answer += isIdentical ? 1 : 0; + } + + return answer; + } +} From 163d9f1a62630505ea7a67d15042e24168b4d557 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Sat, 13 Jan 2024 18:06:04 +0900 Subject: [PATCH 5/7] =?UTF-8?q?Create=2017680=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\240\204\354\247\200\355\235\254.java" | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 "5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" diff --git "a/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" new file mode 100644 index 0000000..cd23df9 --- /dev/null +++ "b/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" @@ -0,0 +1,31 @@ +import java.util.LinkedHashSet; + +class Solution { + public int solution(int cacheSize, String[] cities) { + int answer = 0; + + if (cacheSize == 0) { + return cities.length * 5; + } + + LinkedHashSet cache = new LinkedHashSet<>(cacheSize); + + for (String city : cities) { + city = city.toLowerCase(); + + if (cache.contains(city)) { + cache.remove(city); + cache.add(city); + answer += 1; + } else { + cache.add(city); + if (cache.size() > cacheSize) { + cache.remove(cache.iterator().next()); + } + answer += 5; + } + } + + return answer; + } +} From ff0701f7c9b0951e4cdda85cf361558b52a53c14 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Sat, 13 Jan 2024 19:06:58 +0900 Subject: [PATCH 6/7] =?UTF-8?q?Update=2017680=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../17680/17680_\354\240\204\354\247\200\355\235\254.java" | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git "a/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" index cd23df9..8fb9040 100644 --- "a/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" +++ "b/5\354\243\274\354\260\250/17680/17680_\354\240\204\354\247\200\355\235\254.java" @@ -1,4 +1,4 @@ -import java.util.LinkedHashSet; +import java.util.LinkedList; class Solution { public int solution(int cacheSize, String[] cities) { @@ -8,7 +8,7 @@ public int solution(int cacheSize, String[] cities) { return cities.length * 5; } - LinkedHashSet cache = new LinkedHashSet<>(cacheSize); + LinkedList cache = new LinkedList<>(); for (String city : cities) { city = city.toLowerCase(); @@ -20,7 +20,7 @@ public int solution(int cacheSize, String[] cities) { } else { cache.add(city); if (cache.size() > cacheSize) { - cache.remove(cache.iterator().next()); + cache.removeFirst(); } answer += 5; } From 83b52b1a51faa8cb3ba222e4a58096f6e240e227 Mon Sep 17 00:00:00 2001 From: GHeeJeon <47032054+GHeeJeon@users.noreply.github.com> Date: Sat, 13 Jan 2024 22:58:59 +0900 Subject: [PATCH 7/7] =?UTF-8?q?Create=20250121=5F=EC=A0=84=EC=A7=80?= =?UTF-8?q?=ED=9D=AC.java?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...\354\240\204\354\247\200\355\235\254.java" | 91 +++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 "5\354\243\274\354\260\250/250121/250121_\354\240\204\354\247\200\355\235\254.java" diff --git "a/5\354\243\274\354\260\250/250121/250121_\354\240\204\354\247\200\355\235\254.java" "b/5\354\243\274\354\260\250/250121/250121_\354\240\204\354\247\200\355\235\254.java" new file mode 100644 index 0000000..0320f9e --- /dev/null +++ "b/5\354\243\274\354\260\250/250121/250121_\354\240\204\354\247\200\355\235\254.java" @@ -0,0 +1,91 @@ +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +class Solution { + public int[][] solution(int[][] data, String ext, int val_ext, String sort_by) { + List filteredData = filterData(data, ext, val_ext); + Collections.sort(filteredData, (a, b) -> compareData(a, b, sort_by)); + + int[][] answer = new int[filteredData.size()][]; + for (int i = 0; i < filteredData.size(); i++) { + answer[i] = filteredData.get(i).getData(); + } + + return answer; + } + + private List filterData(int[][] data, String ext, int val_ext) { + List filteredData = new ArrayList<>(); + for (int[] record : data) { + if (matchesCondition(record, ext, val_ext)) { + filteredData.add(new DataRecord(record)); + } + } + return filteredData; + } + + private boolean matchesCondition(int[] record, String ext, int val_ext) { + switch (ext) { + case "code": + return record[0] < val_ext; + case "date": + return record[1] < val_ext; + case "maximum": + return record[2] < val_ext; + case "remain": + return record[3] < val_ext; + default: + return false; + } + } + + private int compareData(DataRecord a, DataRecord b, String sort_by) { + switch (sort_by) { + case "code": + return Integer.compare(a.getCode(), b.getCode()); + case "date": + return Integer.compare(a.getDate(), b.getDate()); + case "maximum": + return Integer.compare(a.getMaximum(), b.getMaximum()); + case "remain": + return Integer.compare(a.getRemain(), b.getRemain()); + default: + return 0; + } + } + + private static class DataRecord { + private final int code; + private final int date; + private final int maximum; + private final int remain; + + public DataRecord(int[] data) { + this.code = data[0]; + this.date = data[1]; + this.maximum = data[2]; + this.remain = data[3]; + } + + public int getCode() { + return code; + } + + public int getDate() { + return date; + } + + public int getMaximum() { + return maximum; + } + + public int getRemain() { + return remain; + } + + public int[] getData() { + return new int[]{code, date, maximum, remain}; + } + } +}