[프로그래머스 코딩테스트 연습문제] 컨트롤 제트 문제 풀이 with 자바스크립트(Javascript) & 자바(Java)

Re_Go·2024년 6월 27일
0

코딩테스트연습

목록 보기
83/106
post-thumbnail

1. 첫번째 문제 풀이(2024-06-27)

해당 문제는 split과 반복문을 돌려 어려움 없이 풀었는데요.

문자열을 split을 사용해 공백 기준으로 나눈 후 for문을 돌리면서 누적 증가를 해주다가 Z를 만나면 이전의 값 만큼 빼주고 연산을 이어나가는 방식입니다.

그럼 해당 공식을 적용한 자바스크립트 버전을 소개해 드리겠습니다.

  1. 자바스크립트 버전
function solution(s) {
  	// split 메서드로 공백을 기준으로 문자열 해제
    let arr = s.split(" ");
  	// 값들을 누적 할 변수
    let sum = 0;
  	// for문을 배열만큼 돌리면서
    for(let i = 0 ; i < arr.length ; i++){
      	// 배열의 현재 i 번째 요소가 문자 'Z' 일 경우
        if(arr[i] === 'Z'){
        // sum(누적 합산)에서 Z(i)의 이전 요소(i-1)를 문자열에서 정수로 변환 후 sum에서 빼주고 합산.
            sum -= parseInt(arr[i-1]);
        // 다음 배열의 요소 searching
            continue;
        }
      	// if문에 안걸리는 경우, 즉 Z를 만나지 않았다면 그대로 누적 합산
        sum += parseInt(arr[i]);
    }
  	// 도출된 sum을 반환
    return sum;
}

그리고 자바 버전으로 구현한 코드는 다음과 같습니다.

  1. 자바 버전
class Solution {
      public int solution(String s) {
        String[] arr = s.split(" ");
        int sum = 0;

        for (int i = 0; i < arr.length; i++) {
            if (arr[i].equals("Z")) {
                sum -= Integer.parseInt(arr[i - 1]);
                continue;
            }
            sum += Integer.parseInt(arr[i]);
        }
        return sum;
    }
}

2. 자바와 자바스크립트 풀이 차이점

  1. JS의 경우 배열의 생성이나 parseInt 메서드를 바로 호출하는게 가능한데, 자바의 경우 배열을 생성하는 방식이나 parseInt를 불러오는 방식에서 약간의 차이점이 있었습니다. 그러나 이것이 코드 구현에 있어서 어려움을 초래하지는 않았던 것 같습니다.
profile
인생은 본인의 삶을 곱씹어보는 R과 타인의 삶을 배워 나아가는 L의 연속이다.

0개의 댓글