-
프로그래머스 코딩테스트(두 수의 연산값 비교하기, k의 개수, 특별한 이차원 배열 1)코딩테스트 2023. 5. 18. 15:44
<두 수의 연산값 비교하기>
문제 설명
연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환합니다. 예를 들면 다음과 같습니다.
12 ⊕ 3 = 123
3 ⊕ 12 = 312
양의 정수 a와 b가 주어졌을 때, a ⊕ b와 2 * a * b 중 더 큰 값을 return하는 solution 함수를 완성해 주세요.
단, a ⊕ b와 2 * a * b가 같으면 a ⊕ b를 return 합니다.풀이
class Solution {
public int solution(int a, int b) {
return Integer.parseInt(""+a+b)>=2*a*b?Integer.parseInt(""+a+b):2*a*b;
}
}다른 사람 풀이
class Solution { public int solution(int a, int b) { return Math.max(Integer.parseInt(String.valueOf(a)+String.valueOf(b)),2*a*b); } }
<k의 개수>
문제 설명
1부터 13까지의 수에서, 1은 1, 10, 11, 12, 13 이렇게 총 6번 등장합니다. 정수 i, j, k가 매개변수로 주어질 때, i부터 j까지 k가 몇 번 등장하는지 return 하도록 solution 함수를 완성해주세요.풀이
class Solution {
public int solution(int i, int j, int k) {
int answer = 0;
for(int l=i;l<=j;l++){
if((l+"").contains(k+"")){
for(int m=0;m<(l+"").length();m++){
if((l+"").charAt(m) == k+'0')
answer++;
}
}
}
return answer;
}
}다른 사람 풀이
class Solution { public int solution(int i, int j, int k) { String str = ""; for(int a = i; a <= j; a++) { str += a+""; } return str.length() - str.replace(k+"", "").length(); } }
<특별한 이차원 배열 1>
문제 설명
정수 n이 매개변수로 주어질 때, 다음과 같은 n × n 크기의 이차원 배열 arr를 return 하는 solution 함수를 작성해 주세요.
arr[i][j] (0 ≤ i, j < n)의 값은 i = j라면 1, 아니라면 0입니다.풀이
class Solution {
public int[][] solution(int n) {
int[][] answer = new int[n][n];
for(int i=0;i<n;i++){
answer[i][i] = 1;
}
return answer;
}
}'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2)) (0) 2023.05.20 프로그래머스 코딩테스트(가까운 수, 등차수열의 특정한 항만 더하기, 문자열 잘라서 정렬하기) (0) 2023.05.19 프로그래머스 코딩테스트(A로 B 만들기, 팩토리얼, 2차원으로 만들기) (0) 2023.05.18 프로그래머스 코딩테스트(모스부호 (1), x사이의 개수, 배열 만들기 3) (1) 2023.05.17 프로그래머스 코딩테스트(배열의 원소 삭제하기, 가까운 1 찾기, 중복된 문자 제거) (0) 2023.05.15