📌Back-End/프로그래머스
Java 프로그래머스 코딩테스트 입문 Day 15 문자열, 해시, 배열, 수학
구 일
2024. 7. 8. 11:26
728x90
반응형
영어가 싫어요
import java.util.HashMap;
/**
* 코딩테스트 입문 Day 15 문자열, 해시, 배열, 수학
* 영어가 싫어요
*/
public class Main1 {
public static void main(String[] args) {
System.out.println(solution("onetwothreefourfivesixseveneightnine"));
System.out.println(solution("onefourzerosixseven"));
}
public static long solution(String numbers) {
HashMap<String, Integer> hashMap = new HashMap<>();
hashMap.put("zero", 0);
hashMap.put("one", 1);
hashMap.put("two", 2);
hashMap.put("three", 3);
hashMap.put("four", 4);
hashMap.put("five", 5);
hashMap.put("six", 6);
hashMap.put("seven", 7);
hashMap.put("eight", 8);
hashMap.put("nine", 9);
long answer = 0;
StringBuilder sb = new StringBuilder();
String[] strArr = numbers.split("");
for (String str : strArr) {
if (!hashMap.containsKey(sb.toString())) {
sb.append(str);
if (hashMap.containsKey(sb.toString())) {
answer = (answer * 10) + hashMap.get(sb.toString());
sb = new StringBuilder();
}
}
}
return answer;
}
}
인덱스 바꾸기
/**
* 코딩테스트 입문 Day 15 문자열, 해시, 배열, 수학
* 인덱스 바꾸기
*/
public class Main2 {
public static void main(String[] args) {
System.out.println(solution("hello", 1, 2));
System.out.println(solution("l love you", 3, 6));
}
public static String solution(String my_string, int num1, int num2) {
String[] strArr = my_string.split("");
String tmp = strArr[num1];
strArr[num1] = strArr[num2];
strArr[num2] = tmp;
return String.join("", strArr);
}
}
한 번만 등장한 문자
import java.util.*;
/**
* 코딩테스트 입문 Day 15 문자열, 해시, 배열, 수학
* 한 번만 등장한 문자
*/
public class Main3 {
public static void main(String[] args) {
System.out.println(solution("abcabcadc"));
System.out.println(solution("abdc"));
System.out.println(solution("hello"));
}
public static String solution(String s) {
HashMap<String, Integer> hashMap = new HashMap<>();
StringBuilder sb = new StringBuilder();
String[] strArr = s.split("");
for (String str: strArr) {
hashMap.put(str, hashMap.getOrDefault(str, 0) + 1);
}
List<String> keyList = new ArrayList<>(hashMap.keySet());
keyList.sort(Comparator.naturalOrder());
for (String key : keyList) {
if (hashMap.get(key) == 1) {
sb.append(key);
}
}
return sb.toString();
}
}
약수 구하기
import java.util.stream.IntStream;
/**
* 코딩테스트 입문 Day 15 문자열, 해시, 배열, 수학
* 약수 구하기
*/
public class Main4 {
public static void main(String[] args) {
int[] result = solution(24);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
result = solution(29);
for (int num : result) {
System.out.print(num + " ");
}
System.out.println();
}
public static int[] solution(int n) {
return IntStream.rangeClosed(1, n).filter(i -> n % i == 0).toArray();
}
}
728x90
반응형