728x90
반응형
SMALL

문제 설명

n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.

  • 0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i]

제한사항

  • 1 ≤ arr의 길이 = arr의 원소의 길이 ≤ 100
  • 1 ≤ arr의 원소의 원소 ≤ 1,000
  • 모든 arr의 원소의 길이는 같습니다.

입출력 예

arr result

[[5, 192, 33], [192, 72, 95], [33, 95, 999]] 1
[[19, 498, 258, 587], [63, 93, 7, 754], [258, 7, 1000, 723], [587, 754, 723, 81]] 0

입출력 예 설명

입출력 예 #1

  • 예제 1번에서 문제의 조건이 잘 보이도록 표를 만들면 다음과 같습니다.i j arr[i][j] arr[j][i]
    0 0 5 5
    0 1 192 192
    0 2 33 33
    1 0 192 192
    1 1 72 72
    1 2 95 95
    2 0 33 33
    2 1 95 95
    2 2 999 999
    조건을 만족하므로 1을 return 합니다.

입출력 예 #2

  • 예제 2번의 arr에서 arr[0][1] = 498 ≠ 63 = arr[1][0]이므로 조건을 만족하지 않습니다. 따라서 0을 return 합니다.
package Lv0;
/*
n × n 크기의 이차원 배열 arr이 매개변수로 주어질 때, arr이 다음을 만족하면 1을 아니라면 0을 return 하는 solution 함수를 작성해 주세요.

0 ≤ i, j < n인 정수 i, j에 대하여 arr[i][j] = arr[j][i]
 */
public class H181831 {
	public int solution(int[][] arr) {
		int answer = arr.length;
		for (int i = 0; i < answer; i++) {
			for (int j = 0; j < answer; j++) {
				if (arr[i][j] != arr[j][i]) {
					return 0;
				}
			}
		}
		return 1;
	}
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

간단한 식 계산하기  (0) 2023.05.05
접미사 배열  (0) 2023.05.05
x 사이의 개수  (0) 2023.05.04
세로 읽기  (1) 2023.05.04
간단한 논리 연산  (1) 2023.05.04
728x90
반응형
SMALL

문제 설명

문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.


제한사항

  • 1 ≤ myString의 길이 ≤ 100,000
    • myString은 알파벳 소문자로 이루어진 문자열입니다.

입출력 예

myString result

"oxooxoxxox" [1, 2, 1, 0, 1, 0]
"xabcxdefxghi" [0, 3, 3, 3]

입출력 예 설명

입출력 예 #1

  • "x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, 2, 1, 0, 1, 0]을 return 합니다.

입출력 예 #2

  • "x"를 기준으로 문자열을 나누면 ["", "abc", "def", "ghi"]가 됩니다. 각각의 길이로 배열을 만들면 [0, 3, 3, 3]입니다. 따라서 [0, 3, 3, 3]을 return 합니다.
package Lv0;

import java.util.ArrayList;
import java.util.List;

/*
문자열 myString이 주어집니다.
myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.
 */
public class H181867 {
	public int[] solution(String myString) {
		List<Integer> lengths = new ArrayList<>();
		int count = 0;

		for (int i = 0; i < myString.length(); i++) {
			if (myString.charAt(i) == 'x') {
				lengths.add(count);
				count = 0;
			} else {
				count++;
			}
		}
		lengths.add(count);

		int[] result = new int[lengths.size()];
		for (int i = 0; i < lengths.size(); i++) {
			result[i] = lengths.get(i);
		}
		return result;
	}
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

접미사 배열  (0) 2023.05.05
특별한 이차원 배열 2  (0) 2023.05.05
세로 읽기  (1) 2023.05.04
간단한 논리 연산  (1) 2023.05.04
두 수의 연산값 비교하기  (0) 2023.05.04
728x90
반응형
SMALL

문제 설명

문자열 my_string과 두 정수 m, c가 주어집니다. my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.


제한사항

  • my_string은 영소문자로 이루어져 있습니다.
  • 1 ≤ m ≤ my_string의 길이 ≤ 1,000
  • m은 my_string 길이의 약수로만 주어집니다.
  • 1 ≤ c ≤ m

입출력 예

my_string m c result

"ihrhbakrfpndopljhygc" 4 2 "happy"
"programmers" 1 1 "programmers"

입출력 예 설명

입출력 예 #1

  • 예제 1번의 my_string을 한 줄에 4 글자씩 쓰면 다음의 표와 같습니다.1열 2열 3열 4열
    i h r h
    b a k r
    f p n d
    o p l j
    h y g c
    2열에 적힌 글자를 세로로 읽으면 happy이므로 "happy"를 return 합니다.

입출력 예 #2

  • 예제 2번의 my_string은 m이 1이므로 세로로 "programmers"를 적는 것과 같고 따라서 1열에 적힌 글자를 세로로 읽으면 programmers입니다. 따라서 "programmers"를 return 합니다.
package Lv0;
/*
문자열 my_string과 두 정수 m, c가 주어집니다. 
my_string을 한 줄에 m 글자씩 가로로 적었을 때 왼쪽부터 세로로 c번째 열에 적힌 글자들을 문자열로 return 하는 solution 함수를 작성해 주세요.
 */
public class H181904 {
	public String solution(String my_string, int m, int c) {
		StringBuilder result = new StringBuilder();
		for (int i = c - 1; i < my_string.length(); i += m) {
			result.append(my_string.charAt(i));
		}
		return result.toString();
	}
}
728x90
반응형
LIST

'알고리즘 > 프로그래머스 JAVA LV.0' 카테고리의 다른 글

특별한 이차원 배열 2  (0) 2023.05.05
x 사이의 개수  (0) 2023.05.04
간단한 논리 연산  (1) 2023.05.04
두 수의 연산값 비교하기  (0) 2023.05.04
A로 B 만들기  (0) 2023.05.04

+ Recent posts