-
프로그래머스 : 가운데 글자 가져오기코딩테스트 문제 풀이/프로그래머스 2023. 11. 22. 01:01
다른 사람 코드
class StringExercise{ String getMiddle(String word){ return word.substring((word.length()-1)/2, word.length()/2 + 1); } public static void main(String[] args){ StringExercise se = new StringExercise(); System.out.println(se.getMiddle("power")); } }
오잉 그러고보니 클래스 이름하고 실행 메소드 이름이 다르다 이런 형식의 풀이가 꽤 많이 보이는 것을 보면 예전엔 이런 형식으로 시행되었었나보다~~ 🤭
그건 그렇고
substring(word.length() - 1 / 2, word.length() / 2 + 1)
이라고 사용하면 될 문제였다. 짝수 홀수를 역 이용하는거였다.문자가
abcd
4자 일 때짝수는 가운데 2자가 필요 -> 필요한 시작 인덱스 : 1 length() = 4 length() / 2 - 1 = 2 (length() - 1) / 2 = 1
문자가
abc
3자일 때홀수는 가운데 1자가 필요 -> 필요한 시작 인덱스 : 1 length() = 3 length() / 2 = 1 (length() - 1) / 2 = 1
마지막 인덱스는 둘다 length() / 2 + 1로 같음
그렇다면 두군데 모두에서 필요한 값을 가져올 수 있는 (length() - 1) / 2의 방식을 사용하는것이 좋다.
내 코드
class Solution { public String solution(String s) { int start = s.length() / 2 == 0 ? s.length() / 2 - 1 : s.length() / 2; int end = s.length() / 2 + 1; return s.substring(start, end); } }
처음 풀어본 날짜 : 23.03.26 다시 풀어본 날짜 : 23.03.27 ~ 28, 30
'코딩테스트 문제 풀이 > 프로그래머스' 카테고리의 다른 글
프로그래머스: 자연수 뒤집어 배열로 만들기 (0) 2023.11.22 프로그래머스 : 둘만의 암호 (0) 2023.11.22 프로그래머스 : 3진법 뒤집기 (0) 2023.11.22 프로그래머스 : 이상한 문자 만들기 (0) 2023.11.22 프로그래머스 : 폰켓몬 (0) 2023.11.21