프로그래머스 코딩테스트(flag에 따라 다른 값 반환하기, 첫 번째로 나오는 음수, 부분 문자열)
<flag에 따라 다른 값 반환하기>
문제 설명
두 정수 a, b와 boolean 변수 flag가 매개변수로 주어질 때, flag가 true면 a + b를 false면 a - b를 return 하는 solution 함수를 작성해 주세요.
풀이
class Solution {
public int solution(int a, int b, boolean flag) {
return flag==true?a+b:a-b;
}
}
<첫 번째로 나오는 음수>
class Solution {
public int solution(int[] num_list) {
for(int i=0;i<num_list.length;i++){
if(num_list[i]<0)
return i;
}
return -1;
}
}
<부분 문자열>
문제 설명
어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 합니다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열입니다.
문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요.
풀이
class Solution {
public int solution(String str1, String str2) {
int answer = 0;
for(int i=0;i<str2.length()-str1.length()+1;i++){
if(str1.charAt(0) == str2.charAt(i)){
if(str1.equals(str2.substring(i, i+str1.length())))
return 1;
}
}
return answer;
}
}
다른 사람 풀이
class Solution {
public int solution(String str1, String str2) {
return str2.contains(str1) ? 1 : 0;
}
}