정말 오랜만에 코딩테스트 문제를 풀어보는것 같다 🙈
역시 시작은 쉬운 문제 부터 시작해야 ...🙈
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
for (char c: a.toCharArray()) {
int sign = c > 'Z' ? -1 : 1;
System.out.print((char)(c + ('a' - 'A') * sign));
}
}
}
이런 식으로 풀이 했을 때는 걸린 시간이
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String a = sc.next();
char diff = 'a' - 'A';
for (char c: a.toCharArray()) {
int sign = c > 'Z' ? -1 : 1;
System.out.print((char)(c + diff * sign));
}
}
}
이런 식으로 풀이 했을 때는 걸린 시간이
(아래는 다른사람 코드인데 약간만 수정해서 사용)
import java.util.Scanner;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.next();
for(char x : str.toCharArray()) {
if(Character.isLowerCase(x)) {
System.out.print(Character.toUpperCase(x));
} else {
System.out.print(Character.toLowerCase(x));
}
}
}
}
이런 식으로 풀이 했을 때는 걸린 시간이
🤓....???
이런 문제에서 풀이할 때 소요 시간에 대한 궁금증이 갑자기 생겨서 지금 글 쓰면서 갑작스럽게 캡쳐를 해왔다.
다 비슷비슷.....🤔
그런데 의외였던 부분은
Character.isLowerCase
를 사용한 케이스가 제일 빨리 끝날 줄 알았고,
그 다음으로 diff = 'a' - 'A'
를 사용한 케이스가 ,
마지막으로 매번 'a' - 'A'
를 사용한 케이스.
이 순서로 소요 시간이 적을 줄 알았는데,
약간 반대여서 조금 놀랐다.
자바 데이터 저장 구조?? 메모리 사용 방식?? 에 관해서 공부를 해보면 좋을것 같다는 생각을 해본다 🤓
오늘 CS 공부하고 시간 남으면(체력 남으면) 해봐야징..🙈