
프로그래머스 코딩테스트 입문 Java로 Day 16 문자열 수학 배열 조건문 풀기
머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.
제한사항
message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.입출력 예
| message | result |
|---|---|
| "happy birthday!" | 30 |
| "I love you~" | 22 |
class Solution {
public int solution(String message) {
int answer = 0;
answer = message.length()*2;
return answer;
}
}
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 return 하도록 solution 함수를 완성해보세요.
제한사항
array의 길이 ≤ 100array 원소 ≤ 1,000array에 중복된 숫자는 없습니다.입출력 예
| array | result |
|---|---|
| [1, 8, 3] | [8, 1] |
| [9, 10, 11, 8] | [11, 2] |
class Solution {
public int[] solution(int[] array) {
int[] answer = new int[2];
for (int i = 0; i < array.length; i++) {
if (array[i] > answer[0]) {
answer[0] = array[i];
answer[1] = i;
}
}
return answer;
}
}
my_string은 "3 + 5"처럼 문자열로 된 수식입니다. 문자열 my_string이 매개변수로 주어질 때, 수식을 계산한 값을 return 하는 solution 함수를 완성해주세요.
제한사항
my_string의 길이 ≤ 100my_string을 계산한 결과값은 1 이상 100,000 이하입니다.my_string의 중간 계산 값은 -100,000 이상 100,000 이하입니다.my_string에는 연산자가 적어도 하나 포함되어 있습니다.my_string의 숫자와 연산자는 공백 하나로 구분되어 있습니다.입출력 예
| my_string | result |
|---|---|
| "3 + 4" | 7 |
class Solution {
public int solution(String my_string) {
String[] arr = my_string.split(" ");
int answer = Integer.parseInt(arr[0]);
for (int i = 1; i < arr.length; i+=2) {
if (arr[i].equals("+")) answer += Integer.parseInt(arr[i+1]);
else if (arr[i].equals("-")) answer -= Integer.parseInt(arr[i+1]);
}
return answer;
}
}
두 배열이 얼마나 유사한지 확인해보려고 합니다. 문자열 배열 s1과 s2가 주어질 때 같은 원소의 개수를 return하도록 solution 함수를 완성해주세요.
제한사항
s1, s2의 길이 ≤ 100s1, s2의 원소의 길이 ≤ 10s1과 s2의 원소는 알파벳 소문자로만 이루어져 있습니다s1과 s2는 각각 중복된 원소를 갖지 않습니다.입출력 예
| s1 | s2 | result |
|---|---|---|
| ["a", "b", "c"] | ["com", "b", "d", "p", "c"] | 2 |
| ["n", "omg"] | ["m", "dot"] | 0 |
class Solution {
public int solution(String[] s1, String[] s2) {
int answer = 0;
int count = 0;
for (int i = 0; i < s1.length; i++) {
for (int j = 0; j < s2.length; j++) {
if (s1[i].equals(s2[j])) count++;
}
}
answer = count;
return answer;
}
}
1) 기록표
