-
프로그래머스 : 대소문자 바꿔서 출력하기코딩테스트 문제 풀이/프로그래머스 2023. 11. 25. 00:01
정말 오랜만에 코딩테스트 문제를 풀어보는것 같다 🙈 역시 시작은 쉬운 문제 부터 시작해야 ...🙈
내 코드
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'
를 사용한 케이스.이 순서로 소요 시간이 적을 줄 알았는데, 약간 반대여서 조금 놀랐다.
'코딩테스트 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스: 이어 붙인 수 (0) 2023.11.26 프로그래머스: 수열과 구간 쿼리 2 (0) 2023.11.26 프로그래머스: 올바른 괄호 (0) 2023.11.25 프로그래머스: 크레인 인형뽑기 게임 (0) 2023.11.24 프로그래머스: 카드 뭉치 (0) 2023.11.24