2022.11.25.FRI

ronglong·2022년 11월 25일
0

코드스테이츠 Day27

  1. 아침 데일리 코딩에서 내가 만든 코드
public class Solution { 
	public String readVertically(String[] arr) {
    // TODO: 각 요소의 첫 번째 인덱스, 두번째 인덱스를 차례로 이어 붙이기.

    //빈 배열인 경우
    if(arr.length==0) return "";
    
    String result ="";

    int max = 0; // 가장 긴 요소 길이 찾기. 
    for(int i=0; i<arr.length; i++){
      if(max < arr[i].length()) max = arr[i].length();
    }

    for(int i=0; i<max; i++){
      for(int j=0; j<arr.length; j++){
        if(arr[j].length()<=i) continue; // 요소의 길이보다 인덱스 값이 크면 다음 요소로 넘어가기. 
        else result += arr[j].charAt(i); // 각 요소의 인덱스를 차례로 결과에 집어넣기. 
      }
    }
    return result;
	} 
}
public class Solution { 
	public boolean superIncreasing(int[] arr) {
    // TODO: 요소 하나를 더한다. 다음 요소가 합보다 크면 트루. 아니면 펄스. 그리고 또 더한다.

    int sum = arr[0];

    for(int i=1; i<arr.length; i++){
      if(sum < arr[i]) { // 합보다 크면 합에 요소 더하고 넘어감.
        sum += arr[i];
        if(i==arr.length-1) return true; // 마지막 요소까지 충족하면 트루 리턴. 
        continue; 
      }
      else break;
    }
    return false;
	} 
}
  1. 연습 문제에서 내가 만든 코드(문항 3번)
public class Solution { 
	public Integer boardGame(int[][] board, String operation) {
    // borad.length 보다 밖에 나가면 널.
    // u 행을 +1, d 행을 -1, l 열을 -1, r 열을 +1 
    // 자리를 옮겼을 때, 1이 있으면 1을 더 한다. 

    int sum = 0;
    int x = 0;
    int y = 0;

    for(int i=0; i<operation.length(); i++){
      if(operation.charAt(i)=='U') x -=1;
      if(operation.charAt(i)=='D') x +=1;
      if(operation.charAt(i)=='L') y -=1;
      if(operation.charAt(i)=='R') y +=1;

      if(x<0 || x>=board.length || y<0 || y>=board.length) return null; 
      if(board[x][y]==1) sum+=1;
    }
    return sum;
	} 
}

<느낀 점>
확실히 나는 재귀함수에 약하다는 것을 오늘 아침에 느꼈다.
재귀함수 공부 좀 다시 해야할 듯,,

연습문제는 총 4문제였는데, 2,3번은 풀었고, 1번은 문제를 잘못 읽어서 못 풀었고, 4번은 걍 어려워서 못 풀었다.
DP개념이 좀 낯설다. 풀이 영상 2번 보니까 뭔지는 알긴 하겠는데..

다음주 월요일이면 알고리즘 섹션이 끝난다. 물론 데일리 코딩은 계속된다.
문제 푸는 건 풀릴 때의 쾌감이 있어서 즐겁다.
고등학교 때 수능 공부하는 기분. 공부는 싫어하지 않음.

알고리즘보다 앞으로 배울 스프링이 더 어려울 것 같아서 걱정된다.

뭐,, 걱정은 미뤄두고 눈 앞에 해야할 일들을 차곡차곡 해나가자.
복습 시간을 너무 충분히 가지지 않아서 약간 겨우 진도를 따라가는 느낌이 있긴한데.. 미래의 나 화이팅⭐️

0개의 댓글