-
프로그래머스 코딩테스트(컨트롤 제트, 문자열이 몇 번 등장하는지 세기, 이차원 배열 대각선 순회하기)코딩테스트 2023. 5. 25. 06:28
<컨트롤 제트>
문제 설명
숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.풀이
class Solution {
public int solution(String s) {
String[] arr = s.split(" ");
int answer = 0;
for(int i=0;i<arr.length;i++){
if(arr[i].equals("Z")){
answer-=Integer.parseInt(arr[i-1]);
} else answer+=Integer.parseInt(arr[i]);
}
return answer;
}
}<문자열이 몇 번 등장하는지 세기>
문제 설명
문자열 myString과 pat이 주어집니다. myString에서 pat이 등장하는 횟수를 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int solution(String myString, String pat) {
int answer = 0;
int n = 0;
while(true){
myString = myString.substring(n,myString.length());
if(myString.indexOf(pat) != -1){
answer++;
n=myString.indexOf(pat)+1;
} else break;
}
return answer;
}
}다른 사람 풀이
class Solution { public int solution(String myString, String pat) { int cnt = 0; for(int i=0; i<myString.length(); i++) { if(myString.substring(i).startsWith(pat)){ cnt++; } } return cnt; } }
<이차원 배열 대각선 순회하기>
문제 설명
2차원 정수 배열 board와 정수 k가 주어집니다.
i + j <= k를 만족하는 모든 (i, j)에 대한 board[i][j]의 합을 return 하는 solution 함수를 완성해 주세요.풀이
class Solution {
public int solution(int[][] board, int k) {
int answer = 0;
for(int i=0;i<board.length;i++){
for(int j=0;j<board[i].length;j++){
if(i+j>k){
break;
} else {
answer+=board[i][j];
}
}
}
return answer;
}
}'코딩테스트' 카테고리의 다른 글
프로그래머스 코딩테스트(빈 배열에 추가, 삭제하기, 소인수분해, 7의 개수) (0) 2023.05.31 프로그래머스 코딩테스트(특정 문자열로 끝나는 가장 긴 부분 문자열 찾기, 세로 읽기, 날짜 비교하기) (0) 2023.05.25 프로그래머스 코딩테스트(배열 만들기 5, 간단한 논리 연산, 이진수 더하기) (0) 2023.05.23 프로그래머스 코딩테스트(한 번만 등장한 문자, 수열과 구간 쿼리 1, 1로 만들기) (0) 2023.05.22 프로그래머스 코딩테스트(수 조작하기 2, 문자열 뒤집기, 수열과 구간 쿼리 3) (0) 2023.05.22