가운데 글자 가져오기

Kyu·2020년 8월 23일
0
post-thumbnail

프로그래머스 문제풀기에 들어가면 코드치는 화면에 항상이 String answer와 return answer 이 기본적으로 나와있어서 값을 항상 String 값으로 주어야하는 줄알고 틀에 얽매여 하다보니 복잡한 코드가 나와버렸다. 게다가 int 끼리 나누기를 하면 int가 반환 된다는 것도 몰랐다. 그래서 Math 까지 넣은 것이다.


public class try1 {
	public String solution(String s) {
		String answer = "";
		int s_length = s.length();
		
		int n1 = (int) Math.ceil(s_length/2);
		int n2 = s_length/2 - 1;
		int n3 = s_length/2; 
		
		if(s_length%2 == 1) {
			answer = String.valueOf(s.charAt(n1));
		}else{
			answer = String.valueOf(s.charAt(n2)) + String.valueOf(s.charAt(n3));
		}
		return answer;
		
	}

}

하지만 나름 긴 고민과 검색을 통해 문제를 해결했다는 것에 의의를 두고싶다. 중요한 것은 동영상 강의로 잘 와닿지 않았던 것(Math 기능, String과 double 혹은 int를 convert) 들이 머릿속에 소스로 남아있다가 필요할때 적절한 키워드로 검색을 할 수 있었다는 것이다.

그러나 이번에는 왜 이렇게 재미없어 하고 넘겼던 것(substring)이 답이었는데, 기본적인 문법적 지식은 스킵하지말고 재미없더라도 잠오더라도 키워드 수집을 위해 듣기는 해야겠다는 것을 깨달았다.

어쨋든 substring 이것 하나만 알았더라면 아마 시간이 훨씬 더 적게 소요되지 않았을까?

substring을 이용해서 다시 문제를 풀어보았다.

if (s.length()%2 == 0) {
			return s.substring(s.length()/2 - 1, s.length()/2 + 1);
		}else {
			return s.substring(s.length()/2, s.length()/2 + 1);
		}
	}
profile
TIL 남기는 공간입니다

0개의 댓글