티스토리 뷰
# 개미 군단
문제 설명
개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요.
제한사항
hp는 자연수입니다.
0 ≤ hp ≤ 1000
입출력 예 설명
입출력 예 #1
hp가 23이므로, 장군개미 네마리와 병정개미 한마리로 사냥할 수 있습니다. 따라서 5를 return합니다.
입출력 예 #2
hp가 24이므로, 장군개미 네마리 병정개미 한마리 일개미 한마리로 사냥할 수 있습니다. 따라서 6을 return합니다.
입출력 예 #3
hp가 999이므로, 장군개미 199 마리 병정개미 한마리 일개미 한마리로 사냥할 수 있습니다. 따라서 201을 return합니다.
나의 답변
class Solution {
public int solution(int hp) {
int answer = 0;
answer = hp/5;
hp = hp%5;
answer += hp/3;
hp = hp%3;
answer += hp/1;
return answer;
}
}
# 가위 바위 보
문제 설명
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
제한사항
0 < rsp의 길이 ≤ 100
rsp와 길이가 같은 문자열을 return 합니다.
rsp는 숫자 0, 2, 5로 이루어져 있습니다.
입출력 예 설명
입출력 예 #1
"2"는 가위이므로 바위를 나타내는 "0"을 return 합니다.
입출력 예 #2
"205"는 순서대로 가위, 바위, 보이고 이를 모두 이기려면 바위, 보, 가위를 순서대로 내야하므로 “052”를 return합니다.
나의 답변
class Solution {
public String solution(String rsp) {
String answer = "";
for(int i=0; i<rsp.length(); i++){
if(rsp.charAt(i)=='0'){
answer += 5;
}
else if(rsp.charAt(i)=='2'){
answer += 0;
}
else if(rsp.charAt(i)=='5'){
answer += 2;
}
}
return answer;
}
}
# 공 던지기
문제 설명
머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요.
제한사항
2 < numbers의 길이 < 100
0 < k < 1,000
numbers의 첫 번째와 마지막 번호는 실제로 바로 옆에 있습니다.
numbers는 1부터 시작하며 번호는 순서대로 올라갑니다.
입출력 예 설명
입출력 예 #1
1번은 첫 번째로 3번에게 공을 던집니다.3번은 두 번째로 1번에게 공을 던집니다.
입출력 예 #2
1번은 첫 번째로 3번에게 공을 던집니다.3번은 두 번째로 5번에게 공을 던집니다.5번은 세 번째로 1번에게 공을 던집니다.1번은 네 번째로 3번에게 공을 던집니다.3번은 다섯 번째로 5번에게 공을 던집니다.
입출력 예 #3
1번은 첫 번째로 3번에게 공을 던집니다.3번은 두 번째로 2번에게 공을 던집니다.2번은 세 번째로 1번에게 공을 던집니다.
나의 답변
class Solution {
public int solution(int[] numbers, int k) {
int answer = 0;
int idx = 0;
for(int i=0; i<k-1; i++){
idx = (idx+2)%numbers.length;
}
answer = numbers[idx];
return answer;
}
}
# 세균 증식
문제 설명
어떤 세균은 1시간에 두배만큼 증식한다고 합니다. 처음 세균의 마리수 n과 경과한 시간 t가 매개변수로 주어질 때 t시간 후 세균의 수를 return하도록 solution 함수를 완성해주세요.
제한사항
1 ≤ n ≤ 10
1 ≤ t ≤ 15
입출력 예 설명
입출력 예 #1
처음엔 2마리, 1시간 후엔 4마리, 2시간 후엔 8마리, ..., 10시간 후엔 2048마리가 됩니다. 따라서 2048을 return합니다.
입출력 예 #2
처음엔 7마리, 1시간 후엔 14마리, 2시간 후엔 28마리, ..., 15시간 후엔 229376마리가 됩니다. 따라서 229,376을 return합니다.
나의 답변
class Solution {
public int solution(int n, int t) {
int answer = n;
for(int i=1; i<=t; i++){
answer *= 2;
}
return answer;
}
}
# 편지
문제 설명
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
제한사항
공백도 하나의 문자로 취급합니다.
1 ≤ message의 길이 ≤ 50편지지의 여백은 생각하지 않습니다.
message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.
입출력 예 설명
입출력 예 #1
message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필요합니다.
입출력 예 #2
message의 글자 수가 11개로 최소 가로 22cm의 편지지가 필요합니다.
나의 답변
class Solution {
public int solution(String message) {
int len = message.length();
int answer = len*2;
return answer;
}
}
'코딩 > 프로그래머스' 카테고리의 다른 글
[SQL - SELECT] 3 (0) | 2024.06.20 |
---|---|
코딩테스트 입문 #81 ~ #85 (0) | 2024.06.18 |
코딩 기초 트레이닝 #76 ~ #80 (1) | 2024.06.17 |
[SQL - SELECT] 2 (1) | 2024.06.14 |
코딩테스트 입문 #71 ~ #76 (0) | 2024.06.13 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday