배열 만들기1
public int[] solution(int n, int k) {
int[] answer = new int[n/k];
int j = 0;
for(int i = 1;i <= n/k ; i++){
answer[j] = i * k;
j++;
}
return answer;
}
부분 문자열인지 확인하기
public int solution(String my_string, String target) {
int answer = 0;
if (my_string.contains(target)){
answer = 1;
}
return answer;
}
접미사인지 확인하기
public int solution(String my_string, String is_suffix) {
int answer = 0;
for (int i = 0;i < my_string.length();i++){
if (my_string.substring(i).equals(is_suffix)){
answer = 1;
}
}
return answer;
}
뒤에서 5등까지
public int[] solution(int[] num_list) {
int[] answer = new int[5];
int[] a = new int[num_list.length];
int z = 0;
for (int i = 1 ; i <= 100 ; i++){
for (int j = 0 ; j < num_list.length;j++){
if (i == num_list[j]){
a[z] = num_list[j];
z++;
}
}
}
for (int i = 0 ; i < 5 ; i++){
answer[i] = a[i];
}
return answer;
}
sort() 함수를 이용하여 배열을 정렬할 수 있음 -> 정렬해서 앞 5개의 배열 저장하면 쉽게 가능
A 강조하기
public String solution(String myString) {
String answer = "";
// answer = myString.toLowerCase();
myString = myString.toLowerCase(); // 문자열을 전부 소문자로 변환
for (int i = 0;i<myString.length();i++){
if (myString.charAt(i) == 'a') { // 글자가 a 일 경우 대문자로 변환
answer += myString.toUpperCase().charAt(i);
} else {
answer += myString.charAt(i); // 아닐 경우 추가
}
}
return answer;
}
홀수 vs 짝수
public int solution(int[] num_list) {
int answer = 0;
int answer2 = 0;
for(int i = 0 ; i < num_list.length;i++){
if (i % 2 == 0){ // i 의 값이 짝수와 홀수로 나뉘어질 때 값 구별
answer += num_list[i];
} else {
answer2 += num_list[i];
}
}
return answer > answer2 ? answer : answer2;
}
뒤에서 5등 위로
public int[] solution(int[] num_list) {
int[] answer = new int[num_list.length - 5];
int j = 0;
Arrays.sort(num_list);
for(int i = 5 ; i < num_list.length ; i++){
answer[j] += num_list[i];
j++;
}
return answer;
}
왜.. 런타임 오류가 발생하지..
할 일 목록
class Solution {
public String[] solution(String[] todo_list, boolean[] finished) {
int count = 0;
for (boolean b : finished){
if (b) {
count++;
}
}
String[] answer = new String[count];
count = 0;
for (int i = 0 ; i < finished.length ; i ++) {
if (!finished[i]){
answer[count] = todo_list[i];
count++;
}
}
return answer;
}
}
주사위 게임1
public int solution(int a, int b) {
int answer = 0;
int aa = a % 2;
int bb = b % 2;
if (aa == 1 && bb == 1){
answer = (a*a) + (b*b);
} else if (aa == 1 || bb == 1){
answer = 2 * (a + b);
} else {
if(b > a){
int i = b;
b = a;
a = i;
answer = a-b;
} else {
answer = a-b;
}
}
return answer;
}
가까운 1 찾기
public int solution(int[] arr, int idx) {
int answer = 0;
for (int i = idx; i < arr.length; i++){
if (arr[i] == 1){
answer = i;
break;
} else {
answer = -1;
}
}
return answer;
}
원하는 문자열 찾기
public int solution(String myString, String pat) {
int answer = 0;
myString = myString.toUpperCase();
pat = pat.toUpperCase();
if (myString.contains(pat)){
answer = 1;
} else {
answer = 0;
}
return answer;
}
꼬리 문자열
public String solution(String[] str_list, String ex) {
String answer = "";
for (String s : str_list){
if(s.contains(ex)){
continue;
} else {
answer += s;
}
}
return answer;
}
공백으로 구분하기
public String[] solution(String my_string) {
String[] answer = my_string.split(" "); // 공백을 기준으로 문자열 나누어 배열로 저장
return answer;
}
부분 문자열
public int solution(String str1, String str2) {
int answer = 0;
answer = str2.contains(str1) ? 1 : 0;
return answer;
}
L 로 만들기
public String solution(String myString) {
String answer = "";
for (int i = 0; i < myString.length(); i++){
if (myString.charAt(i) <= 108){ // 소문자 L 의 ASCII CODE 값
answer += "l"; // L 임
} else {
answer += myString.charAt(i);
}
}
return answer;
}
접미사 배열
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;
}
ad 제거하기
public String[] solution(String[] strArr) {
int count = 0;
for (String s : strArr){
if (s.contains("ad")){
continue;
} else {
count++;
}
}
String[] answer = new String[count];
count = 0;
for (String s : strArr){
if (s.contains("ad")){
continue;
} else {
answer[count] = s;
count++;
}
}
return answer;
}
0 떼기
public String solution(String n_str) {
String answer = "";
for(int i = 0 ; i < n_str.length() ; i++)
if (n_str.charAt(i) != 48){
answer = n_str.substring(i);
break;
} else if (n_str.charAt(i) == 48){
continue;
}
return answer;
}
0 떼기 더 쉽게
public String solution(String n_str) {
String answer = "";
answer += Integer.parseInt(n_str); // 숫자로 만들면 좌측 0 은 다 사라짐
return answer;
}
'혼자 코딩 공부하기 > 프로그래머스 코딩테스트' 카테고리의 다른 글
231214 프로그래머스 기초 트레이닝 (0) | 2023.12.14 |
---|---|
231213 코딩테스트 풀기 (0) | 2023.12.13 |
231211 프로그래머스 코딩테스트 (0) | 2023.12.11 |
231208 프로그래머스 코딩테스트 (2) | 2023.12.08 |
231204 프로그래머스 코딩테스트 Lv.0 (2) | 2023.12.04 |