-
프로그래머스 코딩테스트(배열 만들기 5, 간단한 논리 연산, 이진수 더하기)코딩테스트 2023. 5. 23. 17:57
<배열 만들기 5>
문제 설명
문자열 배열 intStrs와 정수 k, s, l가 주어집니다. intStrs의 원소는 숫자로 이루어져 있습니다.
배열 intStrs의 각 원소마다 s번 인덱스에서 시작하는 길이 l짜리 부분 문자열을 잘라내 정수로 변환합니다. 이때 변환한 정수값이 k보다 큰 값들을 담은 배열을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
int n = 0;
for(int i=0;i<intStrs.length;i++){
if(Integer.parseInt(intStrs[i].substring(s,s+l))>k){
intStrs[i] = intStrs[i].substring(s,s+l);
n++;
} else intStrs[i] = "";
}
int[] answer = new int[n];
int num = 0;
for(String str:intStrs){
if(!str.equals("")){
answer[num] = Integer.parseInt(str);
num++;
}
}
return answer;
}
}<간단한 논리 연산>
문제 설명
boolean 변수 x1, x2, x3, x4가 매개변수로 주어질 때, 다음의 식의 true/false를 return 하는 solution 함수를 작성해 주세요.
(x1 ∨ x2) ∧ (x3 ∨ x4)풀이
class Solution {
public boolean solution(boolean x1, boolean x2, boolean x3, boolean x4) {
return (x1||x2)&&(x3||x4);
}
}<이진수 더하기>
문제 설명
이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 return하도록 solution 함수를 완성해주세요.class Solution {
public String solution(String bin1, String bin2) {
int num = Integer.parseInt(bin1,2)+Integer.parseInt(bin2,2);
return Integer.toBinaryString(num)+"";
}
}다른 사람 풀이
class Solution { public String solution(String bin1, String bin2) { return Integer.toString(Integer.parseInt(bin1, 2) + Integer.parseInt(bin2, 2),2); } }
'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(컨트롤 제트, 문자열이 몇 번 등장하는지 세기, 이차원 배열 대각선 순회하기) (0) 2023.05.25 프로그래머스 코딩테스트(특정 문자열로 끝나는 가장 긴 부분 문자열 찾기, 세로 읽기, 날짜 비교하기) (0) 2023.05.25 프로그래머스 코딩테스트(한 번만 등장한 문자, 수열과 구간 쿼리 1, 1로 만들기) (0) 2023.05.22 프로그래머스 코딩테스트(수 조작하기 2, 문자열 뒤집기, 수열과 구간 쿼리 3) (0) 2023.05.22 프로그래머스 코딩테스트(진료순서 정하기, 문자열 반복해서 출력하기, 숨어있는 숫자의 덧셈 (2)) (0) 2023.05.20