Java & Spring/코딩테스트

프로그래머스 - 기초트레이닝 4일차

DJ.Kang 2024. 5. 4. 04:05

 

 

 

    1. 배열 만들기 5

    2. 부분 문자열 이어 붙여 문자열 만들기
    3. 문자열의 뒤의  n글자
    4. 접미사 배열
      다른방법 : 결국 한 글자씩 추가되며 배열에 더하므로 문자열 my_string의 길이만큼의 빈 배열 생성
                        for문과 substring을 통해 한 글자씩 문자열배열에 추가
                        Arrays.sort(answer)을 통해 문자열정렬
    5. 접미사인지 확인하기
      다른방법 :
      - 사용명령어 : str1.endsWith(str2) → str1이 str2가 접미사이면 true 아니면 false를 반환
    6. 문자열의 앞의 n글자
    7. 접두사인지 확인하기
      - 사용명령어 : str1.startsWith(str2) → 접두사인지 확인하는 메소드
    8. 문자열 뒤집기
      다른방법 : 
    9. 세로읽기
      다른방법 : for문을 통해 c번째(c-1번째 인덱스) 문자를 문자열 answer에 추가하며
                       i가 m 씩 증가하게되면 같은 답을 구할 수 있다.
    10. qr code
      다른방법 :
      ※ answer 문자열을 생성할 때 answer +=을 사용하게 되면 매번 새로운 문자열을 생성하여 메모리 효율이 떨어진다
      반면 StringBuilder의 append를 사용하게 되면 해당 문자열을 계속 변경하며 생성하기 메모리를 효율적으로 사용한다.

    11. 문자 개수 세기
      다른방법 :
      for문의 다른형식 사용, 배열의 요소에 1증가(array[idx]++)

      `for (a : b)`는 확장된 for 루프(enhanced for loop)를 나타냅니다. 이 구문은 배열 또는 컬렉션을 간편하게 순회할 수 있는 방법을 제공합니다.

      `a`는 현재 반복되는 요소를 저장할 변수이고, `b`는 순회할 배열 또는 컬렉션입니다. 각 반복마다 `b`의 요소가 순차적으로 `a`에 할당되어 실행됩니다.

      따라서 `for (char c : my_string.toCharArray())`와 같은 구문은 `my_string.toCharArray()`가 반환한 문자 배열을 순회하면서 각 요소를 변수 `c`에 할당하여 반복합니다.

      이 구문은 코드를 간결하게 작성할 수 있고, 배열이나 컬렉션의 요소를 순회할 때 유용합니다. 반복을 위해 인덱스를 사용할 필요가 없으므로 코드의 가독성이 향상됩니다.

    12. 배열 만들기 1

    13. 리스트 자르기
      사용명령어 : switch문
      어려웠던부분 : case 4에서 배열 answer의 크기를 지정하는 부분에 어려움이 있었음
    14. 첫 번째로 나오는 음수

    15. 배열 만들기 3
      - 사용명령어 : System.arraycopy(arr1, idx1, arr2, idx2, n)
      System.arraycopy(원본배열, 원본배열의 시작인덱스, 대상배열, 대상배열의 시작인덱스, 복사할 요소의 개수);
    16. 2의 영역
      ※ 처음 풀었을 때 테스트 케이스 실패한 상황 :
           - idx1,2의 초기화값을 0으로 두었을 때 arr[0] == 2인경우 마지막 if문에 걸려서 -1을 반환하게됨
             → 초기화값을 -1로 두었고 -1로 뒀을 때 else if문에서 Arrays.copyOfRange의
                  인덱스 시작범위가 음수가 되므로 에러가 발생
              elsif에 idx 가 0이상의 정수 조건을 검

    17. 배열 조작하기

 

출처 : https://school.programmers.co.kr/learn/challenges/training?order=recent&languages=java&page=3

 

코딩 기초 트레이닝 | 프로그래머스 스쿨

프로그래밍 언어를 처음 접하거나 프로그래밍 언어에 익숙해지고 싶다면? 코딩 역량을 탄탄하게 길러주는 코딩 기초 트레이닝으로 차근차근 코딩에 대한 기초 감각을 길러 보세요.

school.programmers.co.kr