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

2024. 5. 4. 04:05·Java & Spring/코딩테스트

 

 

 

    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

 

 

 

 

 

'Java & Spring > 코딩테스트' 카테고리의 다른 글

프로그래머스 - 기초트레이닝 6일차  (0) 2024.05.06
프로그래머스 - 기초트레이닝 5일차  (1) 2024.05.06
프로그래머스 - 기초트레이닝 3일차  (0) 2024.05.03
프로그래머스 - 기초트레이닝 2일차  (0) 2024.05.02
프로그래머스 - 기초트레이닝 1일차  (0) 2024.05.01
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 프로그래머스 - 기초트레이닝 6일차
  • 프로그래머스 - 기초트레이닝 5일차
  • 프로그래머스 - 기초트레이닝 3일차
  • 프로그래머스 - 기초트레이닝 2일차
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 자격증
        • 개념
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    java
    데이터 타입
    개발로드맵
    java 유클리드 호제법
    java two-pointer
    java 에라토스테네스의 체
    java arrays.copyofrnage()
    java super
    java enhance switch
    Java 생성자
    프로그래머스 java 기초트레이닝
    java기초
    자료구조
    java 세수의합
    프로그래머스 java 기초 트레이닝
    java 메서드
    java 멤버
    java 제어자
    Java this
    데이터 크기
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
프로그래머스 - 기초트레이닝 4일차
상단으로

티스토리툴바