import java.util.ArrayList;import java.util.List;public class PermutationGenerator { public static void main(String[] args) { String number = "1234"; List permutations = generatePermutations(number); for (String perm : permutations) { System.out.println(perm); } } public static List generatePermutations(String str) { List result = new ArrayL..
Character.isUpperCase(c) : 문자 c가 대문자인지 판단 Character.isLowerCase(c) : 문자 c가 소문자인지 판단 Character.isAlphabetic(c) : 문자 c가 알파벳인지 판단 class Solution { public String solution(String s, int n) { StringBuffer sb = new StringBuffer(); for(char c : s.toCharArray()) { if(!Character.isAlphabetic(c)) sb.append(c); else if(Character.isLowerCase(c)) { c += n; sb.appendCodePoint('a' + (c-'a') % 26); } else if(Cha..
알고리즘을 풀다 보면 Map에 존재하는 key인지 아닌지 확인해야 할 때가 있다. 나는 평소에 다음과 같이 사용했었다. 기존 코드 public class Main { public static void main(String[] args) { String[] strArr = { "테스트", "TEST", "테스트" }; Map map = new HashMap(); for(String s : strArr) { if(map.containsKey(s)) map.put(s, map.get(s) + 1); else map.put(s, 1); } } } {TEST=1, 테스트=2} 위의 코드가 문제가 있는 것은 아니지만 새로운 방법이 있어 기록을 남기고자 한다. Map - putIfAbsent() Map 인터페이스는 ..
2차원 배열을 다룰 때 가장 조심해야 할 점은 범위를 벗어나서는 안된다는 점이다. 이때 우리는 if문을 통해 범위를 벗어나지 않도록 조절할 수 있다. if문 특징으로 앞의 조건이 하나라도 true가 된다면 뒤의 조건을 실행하지 않는다는 점이다. 설명할 코드 2차원 배열의 크기가 [5, 5]이며 x와 y는 배열의 index이다. for문을 돌리면서 index를 수정할 것이다. public class Main { private static final int[] dx = {0, 0, 1, -1}; private static final int[] dy = {1, -1, 0, 0}; public static void main(String[] args) { int[][] graph = new int[5][5]; i..