프로그래머스 - 기초트레이닝 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 Hello World백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • DB
      • AWS
      • CI-CD
      • 웹
      • git & github
      • 구인공고분석
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.