https://school.programmers.co.kr/learn/courses/30/lessons/120844
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return 하도록 solution 함수를 완성해 주세요.
풀이
numbers 배열을 direction 값에 따라 앞 / 뒤로 한 칸 이동시키는 문제이다.
direction이 "right"일 경우와 "left"일 경우를 if - else 문으로 나누어 구현해도 되지만,
필자는 아래 코드처럼 조건 연산자인 ? : 을 사용하여 이동 방향을 설정한 뒤 한 번에 구현해 보았다.
int move = direction.equals("right") ? 1 : -1;
코드
class Solution {
public int[] solution(int[] numbers, String direction) {
int len = numbers.length;
int[] answer = new int[len];
int move = direction.equals("right") ? 1 : -1;
for(int i = 0; i < len; i++) {
answer[(i + move + len) % len] = numbers[i];
}
return answer;
}
}
틀린 부분이 있다면 정정해 주시면 감사하겠습니다.
궁금한 부분이 있거나, 다른 아이디어가 있으시면 자유롭게 댓글 남겨주세요!
728x90
'[JAVA]프로그래머스 > Lv.0' 카테고리의 다른 글
[JAVA]프로그래머스 - 합성수 찾기 (2) | 2024.02.08 |
---|---|
[JAVA]프로그래머스 - 공 던지기 (0) | 2023.12.28 |
[JAVA]프로그래머스 - 2차원으로 만들기 (2) | 2023.12.27 |
[JAVA]프로그래머스 - 점의 위치 구하기 (2) | 2023.12.20 |
[JAVA]프로그래머스 - 구슬을 나누는 경우의 수 (2) | 2023.11.26 |