본문 바로가기

Algorithm234

[Programmers] Lv.0 / 문자열이 몇 번 등장하는지 세기 / Java 문제 풀이 class Solution { public int solution(String myString, String pat) { int count = 0; int pos = myString.indexOf(pat); while(pos > -1) { count++; pos = myString.indexOf(pat, pos + 1); } return count; } } 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.. 2024. 1. 25.
[Programmers] Lv.0 / 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기 / Java 문제 풀이 class Solution { public String solution(String myString, String pat) { return myString .substring(0, myString.lastIndexOf(pat)) .concat(pat); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181872 2024. 1. 24.
[Programmers] Lv.0 / 특정한 문자를 대문자로 바꾸기 / Java 문제 풀이 class Solution { public String solution(String my_string, String alp) { return my_string.replace(alp, alp.toUpperCase()); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181873 2024. 1. 24.
[Programmers] Lv.0 / A 강조하기 / Java 문제 풀이 import java.util.*; class Solution { public String solution(String myString) { char[] myChar = myString.toCharArray(); for(int i = 0; i < myChar.length; i++) { if(myChar[i] == 'a') { myChar[i] = 'A'; } else if(myChar[i] != 'A') { myChar[i] = Character.toLowerCase(myChar[i]); } } return new String(myChar); } } class Solution { public String solution(String myString) { // 1st ver. // myStrin.. 2024. 1. 23.
[Programmers] Lv.0 / 배열에서 문자열 대소문자 변환하기 / Java 문제 풀이 import java.util.Arrays; import java.util.concurrent.atomic.AtomicInteger; class Solution { public String[] solution(String[] strArr) { AtomicInteger idx = new AtomicInteger(); return Arrays.stream(strArr) .map(i -> { int currentIdx = idx.get(); idx.incrementAndGet(); return currentIdx % 2 == 0 ? i.toLowerCase() : i.toUpperCase(); }) .toArray(String[]::new); } } import java.util.Arrays; im.. 2024. 1. 17.
[Programmers] Lv.0 / 소문자로 바꾸기 / Java 문제 풀이 class Solution { public String solution(String myString) { return myString.toLowerCase(); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181876 2024. 1. 17.
[Programmers] Lv.0 / 대문자로 바꾸기 / Java 문제 풀이 class Solution { public String solution(String myString) { return myString.toUpperCase(); } } 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181877 2024. 1. 17.
[Programmers] Lv.0 / 원하는 문자열 찾기 / Java 문제 풀이 class Solution { public int solution(String myString, String pat) { String upperMyString = myString.toUpperCase(); String upperPat = pat.toUpperCase(); return upperMyString.contains(upperPat) ? 1 : 0; } } class Solution { public int solution(String myString, String pat) { int answer = 0; String lowerMyString = myString.toLowerCase(); String lowerPat = pat.toLowerCase(); if (lowerMyString.i.. 2024. 1. 17.
[Programmers] Lv.0 / 길이에 따른 연산 / Java 문제 풀이 class Solution { public int solution(int[] num_list) { int add = 0; int mul = 1; int answer = 0; for(int i : num_list) { if(num_list.length >= 11) { add += i; answer = add; } else { mul *= i; answer = mul; } } return answer; } } class Solution { public int solution(int[] num_list) { int answer = num_list.length < 11 ? 1 : 0; for(int i : num_list) { if(num_list.length < 11) { answer *= i; }.. 2024. 1. 16.
[Programmers] Lv.0 / 1로 만들기 / Java 문제 풀이 class Solution { public int solution(int[] num_list) { int answer = 0; for(int i = 0; i Integer.toBinaryString(i).length() - 1) .sum(); } } 출처 https://school.programmer.. 2024. 1. 16.
[Programmers] Lv.0 / 조건에 맞게 수열 변환하기 2 / Java 문제 풀이 class Solution { public int solution(int[] arr) { int answer = -1; int loopCnt = 0; while(answer == -1) { int changeCnt = 0; for(int i = 0; i = 50 && arr[i] % 2 == 0) { arr[i] /= 2; changeCnt++; } else if(arr[i] < 50 && arr[i] % 2 != 0) { arr[i] = (arr[i] * 2) + 1; changeCnt++; } } loopCnt++; if(changeCnt == 0) { answer = loopCnt; } } return answer - 1; } } .. 2024. 1. 15.
[Programmers] Lv.0 / 조건에 맞게 수열 변환하기 1 / Java 문제 풀이 import java.util.Arrays; class Solution { public int[] solution(int[] arr) { return Arrays.stream(arr) .map(i -> (i >= 50 && i % 2 == 0) ? i / 2 : ((i < 50 && i % 2 != 0) ? i * 2 : i)) .toArray(); } } 개인적으로 if - else 가 지저분해보여도 가독성은 더 나을 듯 하군 출처 https://school.programmers.co.kr/learn/courses/30/lessons/181882 2024. 1. 12.