문제 설명 : 문자열 안에 문자열
문자열 str1, str2가 매개변수로 주어질 때,
str1안에 str2가 있다면 1 없다면 2를 return 하는 solution함수?
제한 사항
- 1 ≤ str1의 길이 ≤ 100
- 1 ≤ str2의 길이 ≤ 100
- 문자열은 알파벳 대문자, 소문자, 숫자로 구성되어 있습니다.
입출력 예
str1 | str2 | result |
"ab6CDE443fgh22iJKlmn1o" | "6CD" | 1 |
"ppprrrogrammers" | "pppp" | 2 |
"AbcAbcA" | "AAA" | 2 |
문제 풀이
- indexOf나 includes로 풀 수 있습니다
- indexOf일 경우에는 위치를 반환하는데 str2가 str1에 없으면 -1을 반환합니다
그걸 이용해서 삼항연산자를 사용해서 indexOf가 -1보다 클 경우 있을 때니까 1 아니면 없을 때니까 2를 반환하게 합니다.
- includes를 사용하는 경우 boolean값을 반환하기 때문에 true면 1 false면 2를 반환하는 삼항연산자를 작성하면 됩니다.
//indexOf사용할 경우
function solution(str1, str2) {
return str1.indexOf(str2) > -1 ? 1 : 2
}
//includes를 사용할 경우
function solution(str1, str2) {
return str1.includes(str2) ? 1 : 2
}
문제 설명 : 개미 군단
개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다.
장군 개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다.
예를 들어 23의 여치를 사냥할 때, 일개미 23마리를 데리고 가도 되지만,
장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다.
샤냥감의 체력 hp가 매개 변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면
몇 마리의 개미가 필요한지를 return 하는 solution 함수?
제한 사항
- hp는 자연수입니다.
- 0 ≤ hp ≤ 1000
입출력 예
hp | result |
23 | 5 |
24 | 6 |
999 | 201 |
문제 풀이
최소한의 병력을 구하는 것이기 때문에 공격력이 강한 장군 개미의 수부터 차례로 구해주면 됩니다
1. hp를 장군개미의 공격력인 5로 나눈 후 Math.floor로 몫을 정수로 구해줍니다
2. hp를 5로 나눈 나머지에 또 병정개미의 공격력인 3으로 나눈 후 Math.floor로 몫을 정수로 구해줍니다.
3. hp를 5로 나눈 나머지를 다시 3으로 나눈 나머지를 구해줍니다.
1~3번까지 다 더해주면 됩니다.
function solution(hp) {
var answer = 0;
answer += Math.floor(hp / 5)
answer += Math.floor((hp % 5) / 3)
answer += (hp % 5) % 3
return answer
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Programmers' 카테고리의 다른 글
Programmers 문제 풀이 19 (0) | 2023.05.20 |
---|---|
Programmers 문제 풀이 18 (0) | 2023.04.12 |
Programmers 문제 풀이 16 (0) | 2023.04.10 |
Programmers 문제 풀이 15 (0) | 2023.04.07 |
Programmers 문제 풀이 14 (0) | 2023.04.06 |