Maenya's Techlog

[20210520] 구름level - 문자열 번갈아 출력하기(홀수 짝수, List) 본문

개발자의 삶/코딩 문제풀이

[20210520] 구름level - 문자열 번갈아 출력하기(홀수 짝수, List)

ming235 2021. 5. 20. 22:15

 

구름level3 문자열 번갈아 출력하기

 

https://level.goorm.io/exam/43110/%EB%AC%B8%EC%9E%90%EC%97%B4-%EB%B2%88%EA%B0%88%EC%95%84-%EC%B6%9C%EB%A0%A5%ED%95%98%EA%B8%B0

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이

level.goorm.io

 

 

[나의 풀이]

import java.io.*;
import java.util.*;
import java.util.Arrays.*;

class Main {
	
	public static void main(String[] args) throws Exception {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		String []input = br.readLine().split(""); 		// string 배열로 input 받기
		String rtnData = "";
		
		int cnt = input.length;		// 입력된 길이
		List<String> strList = new ArrayList();
        for (int i=0; i<cnt; i++) {
			strList.add(input[i]);	// List로 변환
		}
		
		int calCnt = input.length;		// 줄어드는 계산용 cnt
		for (int j=0; j<cnt; j++) {
			if (j == 0) {				// 첫번째 글자인 경우 
				rtnData = strList.get(j);
			} else if (j % 2 == 0) {	// 짝수번째인 경우 
				rtnData += strList.get(j/2);
			} else {					// 홀수번째인 경우 뒷숫자 출력
				rtnData += strList.get(calCnt-1);
				calCnt -= 1;
			}
		}
	System.out.println(rtnData);
	}
}

 

구름level 문제는 처음이었는데 나에게는 은근히 어려웠다.

ArrayList로 변환시키고 0일땐 그대로 넣고 짝수와 홀수일때를 나눠서 처리했다.

calCnt 라는 변수를 따로 선언해서 가변변수로 만들었다.

 

패드에다 적으면서 하니깐 인덱스 처리를 생각하기 쉬워졌다.

요즘 코테 문제풀이를 안해서 그런지 이렇게 써서 해야만 코드가 써졌다..

꾸준히 조금씩이라도 풀어야 겠다.