[CodingTest] 0레벨 코딩 기초 트레이닝

hye·2023년 4월 25일
0

AlgorithmTest

목록 보기
84/95

이번에 프로그래머스에서 0레벨 코딩 기초 트레이닝이 업로드 되어서
기존에 풀던 0레벨이 내가 보는 화면에서 뒤로 밀리는 현상이 발생해버렸다.
기초 트레이닝 다 완료해서 기존 보던 화면대로 돌려놓는게 목표.
오늘 하루동안 아래와 같이 풀었다.
100여문제나 되어서 아직 30% 밖에 못 풀었다. 86문제 남았네.


내용 외우거나 익히거나 깨달은 내용 메모해 둔 것

문자열 반복해서 출력하기 = 문자열 곱하기
str.repeat(n);
answer+=str;

특수문자 출력하기
System.out.println("!@#$%^&*(\'\"<>?:;");

문자열 붙여서 출력하기
?? 입력할 때 공백으로 구분되어지지않는데 문제가 왜 이러지.

홀짝 구분하기
문제에 오타 있다.
System.out.print(n + " is ");
System.out.println(n%2 == 0 ? "even" : "odd");

정수 부분
(int) flo 하는게 정답...이었네................... ......
double 에서 int로 형 변환하면 소수점 사라짐.

n 번째 원소까지
풀 때 이거 많이 쓰네. Arrays.copyOfRange(num_list,0,n);

IntStream.rangeClosed(-start, -end).map(i -> -i).toArray();

첫 번째로 나오는 음수
다른 사람의 풀이 그냥 공부용
return IntStream.range(0, numList.length).filter(i -> numList[i] < 0).findFirst().orElse(-1);
class Solution {
public int solution(int[] num_list) {
for(int i = 0 ; i < num_list.length ; i++){
if(num_list[i] < 0){
return i;
}
}
return -1;
}
}

.indexOf("@");

Arrays.stream(arr).map(x -> x+k).toArray();

list 스트림 생성. 조건 입력. 배열로 출력

기억해두기
for (char x : num_str.toCharArray()) {
answer += Integer.parseInt(String.valueOf(x));
}

원소들의 곱과 합
제곱
Math.pow(sum,2)

rny_string
answer = String.join("",arr);

부분 문자열인지 확인하기
return my_string.indexOf(target) == -1 ? 0 : 1;
else 에 뭐가 들어갔었을까
if (my_string.indexOf(target) > -1) {
return 1;
} else {
return 0;
} // 보다 크다?? 는이 아니라?

return (my_string.indexOf(target)>=0)? 1:0;

return my_string.contains(target) ? 1 : 0;
return my_string.length() == my_string.replace(target, "").length() ? 0 : 1;
return my_string.indexOf(target) > -1 ? 1 : 0;
String s = my_string.replace(target, "");

    if(my_string.equals(s)) {
        answer = 0;
    } else {
        answer = 1;
    }

    return answer;

더 크게 합치기
class Solution {
public int solution(int a, int b) {
String abStr = (a + "") + (b + "");
String baStr = (b + "") + (a + "");
int abInt = Integer.parseInt(abStr);
int baInt = Integer.parseInt(baStr);
return abInt > baInt ? abInt : baInt;
}
}
int ab = Integer.parseInt(Integer.toString(a) + Integer.toString(b));

홀짝에 따라 다른 값 반환하기
for(int i = 1; i <= n; i++){
if(i % 2 == 0){
answer += i i;
}
}
for (int num = 2;num <= n;num += 2)
answer += num
num;

수 조작하기 1
class Solution {
public int solution(int n, String control) {
int answer = n;
String[] arr = control.split("");
for(String str : arr){
if(str.equals("w")){
answer += 1;
} else if(str.equals("s")) {
answer -= 1;
} else if(str.equals("d")) {
answer += 10;
} else if(str.equals("a")) {
answer -= 10;
}
}
return answer;
}
}
switch (abc[i]) {
case "w" :
n += 1;
break;
case "s" :
n -= 1;
break;
case "d" :
n += 10;
break;
case "a" :
n -= 10;
break;
default:
break;
}

문자열 섞기
속도얘가 빠름 2ms
class Solution {
public String solution(String str1, String str2) {
String answer = "";
String[] str1Arr = str1.split("");
String[] str2Arr = str2.split("");
for(int i = 0; i < str1Arr.length; i++){
answer += String.join("",str1Arr[i]);
answer += String.join("",str2Arr[i]);
}
return answer;
}
}
얘는 10ms
class Solution {
public String solution(String str1, String str2) {
String answer = "";
String[] str1Arr = str1.split("");
String[] str2Arr = str2.split("");
for(int i = 0; i < str1Arr.length; i++){
answer += (str1Arr[i] + str2Arr[i]);
}
return answer;
}
}

문자열 돌리기
for (char ch : a.toCharArray())
System.out.println(a.charAt(i));

profile
Junior Backend Developer

0개의 댓글