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

2024. 5. 6. 10:37·Java & Spring/코딩테스트
  1. 특정 문자열로 끝나는 가장 긴 부분 문자열 찾기
    - 사용명령어 : str1.lastIndexOf(str2); → str1속 str2가 속하는 가장 마지막 index 시작
                           str.substring(a, b);
  2. 문자열이 몇번 등장하는지 세기
  3. ad 제거하기
    어려웠던부분 : 그냥 for문의 i를 1씩 증가시키면서 remove를 하면 remove되면서 temp의 index에 변동이 생겨
                             순환참조시에 문제가 발생되게된다.
                             이를 해결하기 위해 역순으로 i를 감소시키면서 for문을 실행한다.
    다른방법 :
    - 사용명령어 : iteraotr
                           Iterator<String> iteraotor = temp.iterartor(); → 리스트 temp를 참조하여 iterator 객체 생성
                                                                                                     iterator은 temp의 첫번째 요소를 가리킴
                           iterator.hasNext(); → iterator의 다음 요소가 있으면 true 출력 후 다음요소로 이동
                           iterator.next(); → iterator의 현재 요소 출력
  4. x 사이의 개수
  5. 문자열 잘라서 정렬하기
    - 사용명령어 : str.split("c"); → 문자열 c 기준으로 나눈 배열 생성
                           List<String> str1 = new ArrayList<>();
                           str.isEmpty();
  6. 간단한 식 계산하기

  7. 문자열 바꿔서 찾기
  8. 세 개의 구분자
    - 사용명령어 : str.split("[abc]");
    → `split("[abc]")`는 정규 표현식을 사용하여 문자열을 분할하는데, 이 때 문자열을 "a", "b", "c" 문자 중 하나를 구분자로 사용하여 분할합니다.
    여기서 `"[abc]"`는 문자 클래스(character class)를 나타냅니다. 문자 클래스는 대괄호 `[ ]` 안에 여러 문자를 나열하여 해당 문자 중 하나를 나타냅니다. 
    - `[abc]`: "a", "b", "c" 중 하나를 의미합니다.
    따라서 `split("[abc]")`는 "a", "b", "c" 문자 중 하나를 구분자로 사용하여 문자열을 분할합니다. 예를 들어, "apple,banana;grapec.orange"와 같은 문자열을 이 메서드로 분할하면 다음과 같은 결과를 얻을 수 있습니다:
    - "apple"
    - ""
    - ""
    - "n"
    - ""
    - "n"
    - ";gr"
    - "pe"
    - ".or"
    - "nge"
    위의 결과에서 볼 수 있듯이, "a", "b", "c" 문자가 구분자로 사용되어 문자열이 분할되었습니다. 만약 "a", "b", "c" 문자가 연속해서 나타난 경우에는 빈 문자열도 생성됩니다.

  9. 빈 배열의 추가, 삭제하기
  10. 배열 만들기 6
    다른방법 : 
    Stack 활용 :
    스택(Stack)은 데이터를 저장하고 관리하는 선형 자료구조 중 하나로, 데이터를 한 쪽 끝에서만 접근할 수 있는 구조. 이러한 스택은 후입선출(Last In, First Out) 구조를 가지고 있어서 가장 최근에 추가된 항목이 가장 먼저 제거됩니다. 스택은 다음과 같은 기본 동작을 가집니다:
    1. **push**: 스택의 맨 위에 데이터를 추가합니다.
    2. **pop**: 스택의 맨 위에서 데이터를 제거하고 반환합니다.
    3. **peek**: 스택의 맨 위에 있는 데이터를 반환합니다. (제거하지 않고)
    4. **isEmpty**: 스택이 비어있는지 확인합니다.
    5. **size**: 스택에 저장된 데이터의 개수를 반환합니다.
    스택 참고자료 : https://djhelloworld.tistory.com/6
  11. 무작위로 k개의 수 뽑기
    - 사용명령어 : Arrrays.fill(arr, "a") → arr의 빈 배열을 0이 아닌 "a"로 채움
  12. 배열의 길이를 2의 거듭제곱으로 만들기
  13. 배열 비교하기
    - 1일차에 내가 작성한 코드
  14. 문자열 묶기
  15. 배열의 길이에 따라 다른 연산하기
    - 다른방법
    삼항연산자를 for문 안에 넣어서 좀 더 간결하게 할 수 있다.
  16. 뒤에서 5등까지
  17. 공백으로 구분하기1
  18. 공백으로 구분하기 2
  19. my_string
  20. 배열의 원소만큼 추가하기

 

 

자료구조 - 큐(queue), 스텍(stack), 링크드르시트(linked list)

강의 사이트 : 패스트캠퍼스 온라인강의 시작 전 준비 간단한 문제를 스스로 코드로 만들수 있어야함(ex 구구단) 최소 10줄의 코드는 스스로 작성할 수 있어야 함 파이썬 기본 문법에 익숙해져야

djhelloworld.tistory.com

 

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

 

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

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

school.programmers.co.kr

 

 

 

 

 

 

 

 

 

 

 

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

NeetCode - Arrays & Hashing  (0) 2024.05.27
프로그래머스 - 기초트레이닝 7일차(완료)  (0) 2024.05.08
프로그래머스 - 기초트레이닝 5일차  (0) 2024.05.06
프로그래머스 - 기초트레이닝 4일차  (0) 2024.05.04
프로그래머스 - 기초트레이닝 3일차  (0) 2024.05.03
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • NeetCode - Arrays & Hashing
  • 프로그래머스 - 기초트레이닝 7일차(완료)
  • 프로그래머스 - 기초트레이닝 5일차
  • 프로그래머스 - 기초트레이닝 4일차
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 에라토스테네스의 체
    java 멤버
    java 유클리드 호제법
    java기초
    java two-pointer
    java enhance switch
    데이터 크기
    java super
    java 세수의합
    프로그래머스 java 기초트레이닝
    java
    java 메서드
    데이터 타입
    java 제어자
    Java this
    java arrays.copyofrnage()
    개발로드맵
  • 최근 댓글

  • 최근 글

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

티스토리툴바