오늘의 코딩테스트 한줄 - 문자열안에 문자열

Edwin·2023년 2월 4일
0
post-thumbnail

자릿수 더하기

프로그래머스ㅡ 문자열안에 문자열

문제설명 : 문자열 str1, str2가 매개변수로 주어집니다. str1 안에 str2가 있다면 1을 없다면 2를 return하도록 solution 함수를 완성해주세요.

  • 풀이(1) : str1("ab6CDE443fgh22iJKlmn1o"), str2("6CD"), return "1"
  • 풀이(2) : str1("ab6CDE443fgh22iJKlmn1o"), str2("63ad"), return "2"

01 나의 풀이 살펴보기

function solution(str1, str2) {
    let answer = ""
    
    if(str1.includes(str2)) {
        answer = 1;
    } else {
        answer = 2;    
        }
        
    return answer;
}

문제의 핵심은 includes() 메소드에 대한 부분같다. str1에 str2가 있으면 1을, 없으면 2를 값으로 주는 문제였다.

02 다른 풀이 살펴보기

물론 이 코드를 더 간결하게 만든 사람이 있을 것이다.

function solution(str1, str2) {
    return str1.includes(str2) ? 1 : 2;
}

조건문을 사용하지 않고 "?"로 해결했다. 여기서 "?"란 무엇일까?

조건부 삼항 연산자 구문, "?"

기존의 Javascript에서 조건문을 작성했던 구문은 아래와 같았다.

if(조건) {
  return A;
  } else {
  return B;
};

조건부 삼항 연산자 물음표(?)는 이를 간결하게 (조건) 을 앞으로 빼고, return 을 다음과 같이 기록한다.

조건 ? A : B;
  • 위의 문제에 적용하기, 코린이 레벨 입문의 조건문
if(str1.includes(str2)) {
        answer = 1;
    } else {
        answer = 2;    
}
  • 위의 문제에 적용하기, 코린이 레벨업!! 조건문
str1.includes(str2) ? 1:2

코드 간결성의 발전은 대단하다. 조금씩 오늘도 레벨을 업(up)시켜본다.

profile
신학전공자의 개발자 도전기!!

0개의 댓글