178. 접두사인지 확인하기
class Solution {
public int solution(String my_string, String is_prefix) {
if(my_string.startsWith(is_prefix)){
return 1;
} else{
return 0;
}
}
}
<작성한 코드>
startsWith() 함수를 사용했다. startsWith() 함수는 문자열이 특정 문자열이나 접두사로 시작하는지 체크해 주는 함수이다. if에 넣어서 참이면 1을 반환하고 참이 아니라면 0을 반환해 줬다.
179. 문자열의 앞의 n글자
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for(int i=0; i<n; i++){
answer += my_string.charAt(i);
}
return answer;
}
}
<작성한 코드>
간단한 문제였다. 0부터 n만큼 반복해 주고 answer에 문자를 저장하고 반환하였다.
180. 접미사인지 확인하기
class Solution {
public int solution(String my_string, String is_suffix) {
if(my_string.endsWith(is_suffix)){
return 1;
} else{
return 0;
}
}
}
<작성한 코드>
endsWith를 통해서 접미사인지 체크했다. 접미사라면 1을 반환하고 접미사가 아니라면 0을 반환했다.
181. 접미사 배열
import java.util.*;
class Solution {
public String[] solution(String my_string) {
String[] answer = new String[my_string.length()];
for(int i=0; i<my_string.length(); i++){
answer[i] = my_string.substring(i);
}
Arrays.sort(answer);
return answer;
}
}
<작성한 코드>
간단한 문제였다. my_string의 길이만큼 answer의 크기를 지정해 주고 for문을 사용해서 answer에 substring을 사용해서 모든 접미사를 넣어줬다. 그 뒤 Arrays.sort를 사용해서 오름차순 정렬을 해주고 반환하였다.
182. 문자열의 뒤의 n글자
class Solution {
public String solution(String my_string, int n) {
String answer = "";
for(int i=my_string.length()-n; i<my_string.length(); i++){
answer += my_string.charAt(i);
}
return answer;
}
}
<작성한 코드>
간단한 문제였다. 시작점은 my_string의 길이에서 n만큼 빼준값에서 시작해 주고 my_string의 길이만큼 반복해 줬다. answer에 값을 차례로 대입하고 반환해 주면 끝난다.
183. 부분 문자열 이어 붙여 문자열 만들기
class Solution {
public String solution(String[] my_strings, int[][] parts) {
String answer = "";
for(int i = 0; i < my_strings.length; i++) {
int a = parts[i][0];
int b = parts[i][1];
for(int j=a; j<=b; j++) {
answer += my_strings[i].charAt(j);
}
}
return answer;
}
}
<작성한 코드>
for문을 사용해서 my_strings의 길이만큼 반복시켰다. 그리고 parts [i][0], parts [i][1]의 값을 시작과 끝 값으로 a, b에 넣어줬다. 그 뒤 중첩 for문으로 a부터 b까지 반복하도록 하고 answer에 my_string의 i번째 원소의 j번째 원소를 차례대로 대입해 주고 answer을 반환하였다.
184. 배열 만들기 5
import java.util.*;
class Solution {
public int[] solution(String[] intStrs, int k, int s, int l) {
List<Integer> list = new ArrayList<>();
for(int i=0; i<intStrs.length; i++){
String subStrs = intStrs[i].substring(s, s+l);
int num = Integer.parseInt(subStrs);
if(num > k){
list.add(num);
}
}
int[] answer = new int[list.size()];
for(int i=0; i<list.size(); i++){
answer[i] = list.get(i);
}
return answer;
}
}
<작성한 코드>
for문을 사용해서 intStrs의 길이만큼 반복해 줬다. 그 뒤 내부에서는 String형 변수하나를 만들고 intStrs [i] 번째를 substring을 사용해서 s번째부터 s+l이전까지 잘라서 대입해 줬다. 대입한 subStrs값을 정수형으로 변환한 뒤 num이 k보다 크면 list에 추가해 줬다. 그다음 list의 값을 answer에 대입해 주고 반환하였다.
185. 문자열 여러 번 뒤집기
class Solution {
public String solution(String my_string, int[][] queries) {
String answer = "";
char[] ch = my_string.toCharArray();
for(int i=0; i<queries.length; i++){
int s = queries[i][0];
int e = queries[i][1];
while(s < e){
char temp = ch[s];
ch[s] = ch[e];
ch[e] = temp;
s++;
e--;
}
}
for(int i=0; i<ch.length; i++){
answer += ch[i];
}
return answer;
}
}
<작성한 코드>
ch변수에 my_string을 문자형으로 대입했다. 그 뒤 for문을 통해서 queries의 길이만큼 반복시켜 주고 s, e에 범위를 대입해 줬다. while문을 사용해서 s가 e보다 작을 때 반복하도록 했고 s와 e의 자리를 바꿔주며 s는 ++ e는 --해줬다. 그 뒤 answer에 ch값을 집어넣어 주고 반환하였다.
186. 9로 나눈 나머지
class Solution {
public int solution(String number) {
int answer = 0;
int sum = 0;
String[] result = number.split("");
for(int i=0; i<result.length; i++){
sum += Integer.parseInt(result[i]);
}
answer = sum%9;
return answer;
}
}
<작성한 코드>
문제에 나온 대로 그대로 해줬다. 문자열 배열을 선언해 준 뒤 number의 값을 대입해 줬다. 그 뒤 result의 길이만큼 반복해 주고 sum에 각 원소들을 정수형으로 바꿔서 더해줬다. 그 뒤 sum을 9로 나눈 나머지값을 answer에 대입해 주고 반환하였다.
187. 글자 이어 붙여 문자열 만들기
class Solution {
public String solution(String my_string, int[] index_list) {
String answer = "";
char[] ch = my_string.toCharArray();
for(int i=0; i<index_list.length; i++){
char a = ch[index_list[i]];
answer += a;
}
return answer;
}
}
<작성한 코드>
ch안에 my_string을 문자형으로 넣어줬다. 그 뒤 index_list의 길이만큼 반복해 준 뒤 char형 변수 a에 ch [값]의 원소를 꺼내서 넣어줬다. 그리고 그 값을 answer에 넣어주고 반환하였다.
'프로그래머스 문제풀이 > 알고리즘 (JAVA)' 카테고리의 다른 글
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (197~205번 문제풀이) (1) | 2023.10.19 |
---|---|
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (188~196번 문제풀이) (1) | 2023.10.19 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (170~177번 문제풀이) (0) | 2023.10.18 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (162~169번 문제풀이) (0) | 2023.10.18 |
[JAVA] 프로그래머스 알고리즘 문제풀이 - Level 0 (150~161번 문제풀이) (1) | 2023.10.17 |
남건욱's 공부기록