JAVA/프로그래머스 코딩 기초 트레이닝 77

[프로그래머스, LV.0] 주사위 게임 3

목차 #1 주사위 게임 3 문제 설명 1부터 6까지 숫자가 적힌 주사위가 네 개 있습니다. 네 주사위를 굴렸을 때 나온 숫자에 따라 다음과 같은 점수를 얻습니다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작..

[프로그래머스, LV.0] 조건 문자열

목차 #1 조건 문자열 문제 설명 제한 사항 1 m ? 0 : 1; } } } ------------------------------------------ 테스트 1 〉통과 (0.02ms, 79.7MB) 테스트 2 〉통과 (0.02ms, 73.3MB) 테스트 3 〉 통과 (0.02ms, 78.3MB) 테스트 4 〉 통과 (0.03ms, 74MB) 테스트 5 〉 통과 (0.04ms, 74MB) 테스트 6 〉 통과 (0.02ms, 75MB) 테스트 7 〉 통과 (0.03ms, 67MB) 테스트 8 〉통과 (0.03ms, 72MB) 테스트 9 〉통과 (0.02ms, 73.9MB) 테스트 10 〉통과 (0.02ms, 72.5MB) 테스트 11 〉통과 (0.02ms, 72.8MB) 테스트 12 〉통과 (0.03m..

[프로그래머스. LV.0] 배열 조각하기

목차 #1 배열 조각하기 문제 설명 제한사항 입출력 예 #2 코드 및 알고리즘 import java.util.*; class Solution { public int[] solution(int[] arr, int[] query) { for(int i = 0; i < query.length; i++) if(i % 2 == 0) arr = Arrays.copyOfRange(arr, 0, query[i] + 1); else arr = Arrays.copyOfRange(arr, query[i], arr.length); return arr; } } 풀이: query를 순회하면서라고 하였으니 for문을 이용해 query의 길이만큼 반복 for문에서 i가 짝수일 때는 arr에서 query[i]번(i가 2라면 query..

[프로그래머스, LV.0] n번째 원소부터

목차 #1 n번째 원소부터. 문제설명 제한사항 입출력 예 #2 코드 및 알고리즘 코드 1 -> 메소드 사용 X class Solution { public int[] solution(int[] num_list, int n) { n -= 1; int len = num_list.length - n; // n번째 원소부터 num_list의 원소의 갯수까지 int[] num_arr = new int[len]; // 저장할 정수 배열 생성. for(int i = n; i < num_list.length; i++) num_arr[i-n] = num_list[i]; return num_arr; } } 풀이: 1. n -= 1; 하는 이유는 배열은 인덱스 0부터 시작하며 문제상에서 주어지는 n은 인덱스 1을 시작을 기준..

[프로그래머스, LV.0] 정수를 나선형으로 배치하기

목차 #1 정수를 나선형으로 배치하기. #2 코드 및 알고리즘 class Solution { public int[][] solution(int n) { int x = 0; // x축 방향 int y = 0; // y축 방향 int temp = 0; // 각 축의 방향 임시 저장 변수 int value = 1; // 1~n 즉, 채워야할 정수 값. int[][] twoArr = new int[n][n]; while(value = n * n) break; } y++; x = temp; for(int down = y; down = n * n) break; } x--; y = temp; for(int left = x; left >= n - 1 - y; left--){ // x 축 감소 for문. twoArr[y..

[프로그래머스, LV.0] 카운트 다운 -> 배열 생성 new 연산자

목차 #1 카운트 다운 #2 코드 및 알고리즘 class Solution { public int[] solution(int start, int end) { int[] answer = new int[start - end + 1]; // 배열 선언 int len = start - end + 1; // 배열의 총 길이. for(int i = 0; i < len; i++) answer[i] = start--; return answer; } } 이번 문제는 주어진 start 카운트 다운 하는 것이다. #3 배열 선언 배열을 사용하기 위해서는 우선 배열 변수를 선언해야 한다. 기존에 내가 배웠던 C에서의 배열 선언과 다른 점이 있다. 그렇다고 무조건 자료형 뒤에 대괄호를 붙여야하는 건 아니다. C언어 스타일로도 가..