diff --git "a/week4/graph_traversal/\354\210\253\354\236\220\352\263\240\353\245\264\352\270\260/_10Hyuna/Main.java" "b/week4/graph_traversal/\354\210\253\354\236\220\352\263\240\353\245\264\352\270\260/_10Hyuna/Main.java" index f77efff0..c1794320 100644 --- "a/week4/graph_traversal/\354\210\253\354\236\220\352\263\240\353\245\264\352\270\260/_10Hyuna/Main.java" +++ "b/week4/graph_traversal/\354\210\253\354\236\220\352\263\240\353\245\264\352\270\260/_10Hyuna/Main.java" @@ -1,4 +1,4 @@ -package week4.graph_traversal.숫자_고르기._10Hyuna; +package week4.graph_traversal.숫자고르기._10Hyuna; import java.io.BufferedReader; import java.io.IOException; diff --git "a/week4/graph_traversal/\355\212\270\353\246\254\354\235\230\353\266\200\353\252\250\354\260\276\352\270\260/_10Hyuna/Main.java" "b/week4/graph_traversal/\355\212\270\353\246\254\354\235\230\353\266\200\353\252\250\354\260\276\352\270\260/_10Hyuna/Main.java" index f549084e..287cacce 100644 --- "a/week4/graph_traversal/\355\212\270\353\246\254\354\235\230\353\266\200\353\252\250\354\260\276\352\270\260/_10Hyuna/Main.java" +++ "b/week4/graph_traversal/\355\212\270\353\246\254\354\235\230\353\266\200\353\252\250\354\260\276\352\270\260/_10Hyuna/Main.java" @@ -1,4 +1,4 @@ -package week4.graph_traversal.트리의_부모_찾기._10Hyuna; +package week4.graph_traversal.트리의부모찾기._10Hyuna; import java.io.BufferedReader; import java.io.IOException; diff --git "a/week7/implementation/\353\213\250\354\226\264\353\222\244\354\247\221\352\270\2602/_10Hyuna/Main.java" "b/week7/implementation/\353\213\250\354\226\264\353\222\244\354\247\221\352\270\2602/_10Hyuna/Main.java" new file mode 100644 index 00000000..40624ced --- /dev/null +++ "b/week7/implementation/\353\213\250\354\226\264\353\222\244\354\247\221\352\270\2602/_10Hyuna/Main.java" @@ -0,0 +1,42 @@ +package week7.implementation.단어뒤집기2._10Hyuna; + +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.ArrayDeque; +import java.util.Deque; + +public class Main { + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringBuilder sb = new StringBuilder(); + String input = br.readLine(); + + Deque stack = new ArrayDeque<>(); + boolean inTag = false; + + for (char c : input.toCharArray()) { + if (c == '<') { + // 스택 비우기 (단어 뒤집기) + inTag = true; + sb.append(c); + } else if (c == '>') { + inTag = false; + sb.append(c); + } else if (inTag) { + sb.append(c); + } else { + if (c == ' ') { + sb.append(c); + } else { + stack.push(c); + } + } + } + + // 마지막 단어 처리 + System.out.println(sb.toString()); + } + +} diff --git "a/week7/implementation/\355\214\214\354\235\274\354\240\225\353\246\254/_10Hyuna/Main.java" "b/week7/implementation/\355\214\214\354\235\274\354\240\225\353\246\254/_10Hyuna/Main.java" new file mode 100644 index 00000000..0fe22abb --- /dev/null +++ "b/week7/implementation/\355\214\214\354\235\274\354\240\225\353\246\254/_10Hyuna/Main.java" @@ -0,0 +1,28 @@ +package week7.implementation.파일정리._10Hyuna; + +import java.io.*; +import java.util.*; + +public class Main { + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + int n = Integer.parseInt(br.readLine()); + + // TreeMap을 사용하면 키가 자동으로 정렬됨 + Map extensionCount = new TreeMap<>(); + + for (int i = 0; i < n; i++) { + String filename = br.readLine(); + String extension = filename.substring(filename.lastIndexOf('.') + 1); + + extensionCount.put(extension, extensionCount.getOrDefault(extension, 0) + 1); + } + + StringBuilder sb = new StringBuilder(); + for (Map.Entry entry : extensionCount.entrySet()) { + sb.append(entry.getKey()).append(' ').append(entry.getValue()).append('\n'); + } + + System.out.print(sb); + } +} diff --git a/week7/simulation/ZOAC3/_10Hyuna/Main.java b/week7/simulation/ZOAC3/_10Hyuna/Main.java new file mode 100644 index 00000000..d31b3290 --- /dev/null +++ b/week7/simulation/ZOAC3/_10Hyuna/Main.java @@ -0,0 +1,60 @@ +package week7.simulation.ZOAC3._10Hyuna; +import java.io.*; +import java.util.*; + +public class Main { + static final String[] keyboard = { + "qwertyuiop", + "asdfghjkl", + "zxcvbnm" + }; + + static Set leftKeys = new HashSet<>(Arrays.asList( + 'q','w','e','r','t','a','s','d','f','g','z','x','c','v' + )); + + static Map keyMap = new HashMap<>(); + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + StringTokenizer st = new StringTokenizer(br.readLine()); + + char leftStart = st.nextToken().charAt(0); + char rightStart = st.nextToken().charAt(0); + + // 키보드 좌표 맵핑 + for (int i = 0; i < keyboard.length; i++) { + for (int j = 0; j < keyboard[i].length(); j++) { + keyMap.put(keyboard[i].charAt(j), new Point(i, j)); + } + } + + Point leftPos = keyMap.get(leftStart); + Point rightPos = keyMap.get(rightStart); + + String input = br.readLine(); + int totalTime = 0; + + for (char c : input.toCharArray()) { + Point target = keyMap.get(c); + if (leftKeys.contains(c)) { + totalTime += getDistance(leftPos, target) + 1; + leftPos = target; + } else { + totalTime += getDistance(rightPos, target) + 1; + rightPos = target; + } + } + + System.out.println(totalTime); + } + + static int getDistance(Point a, Point b) { + return Math.abs(a.x - b.x) + Math.abs(a.y - b.y); + } + + static class Point { + int x, y; + Point(int x, int y) { this.x = x; this.y = y; } + } +} \ No newline at end of file