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

2024. 5. 3. 02:50·Java & Spring/코딩테스트

 

 

  1. 수 조작하기 2
  2. 수열과 구간 쿼리 3
  3. 수열과 구간 쿼리 2
    풀면서 어려웠던 부분 : answer[i]의 값이 계속 조건에 만족하는 a[j]의 갚으로 덮어져서
    문제가 계속 발생, 해당 부분을 해결하기위해 answer[i]의 초기화 값 위치가 중요
    첫번째 if 조건에 충족하지 않는 경우 answer[i]의 값은 초기화값이므로 -1을 대입
  4. 수열과 구간 쿼리 4
    풀면서 어려웠던 부분 : 문제에서 요구하는 인덱스 i자체가
    기존 arr[i]를 요구하는 것 이므로, 새로 생성한 a에서 슬라이싱한 s를 더해줘야한다
    ex) s = 2라면 a[0] = arr[0+2] 를 나타내는 것이다.
  5. 배열 만들기 2
    - 사용명령어 : ArrayList<Integer> array = new ArrayList<>();

    풀면서 어려웠던 부분 : Math.pow(10,i)*5 로 풀어보려했으나 실패 쳇gpt가없었으면 구현못함


    다른방법 :
    i를 2진수를 반환받아 (1000, 1101... 등) 거기에 5를 곱하게되면 요구하는 값을 반환받게된다.
    반환받은 수가 범위 안이면 리스트에 추가한다.


  6. 카운트 업
  7. 콜라츠 수열 만들기
    - 사용명령어 : do-while문 → while조건이 참일때 do의 문장 반복
                           ArrayList 변환 : array.stream().mapToInt(Integer::intValue).toArray();
    내가 할 수 있는 방법 : ArrayList 사이즈의 배열을 만들고 하나씩 대입


  8. 배열 만들기 4
  9. 간단한 논리 연산
    사용한명령어 : ||(or)과 &&(and)
  10. 주사위 게임 3
     

    프로그래머스 - 주사위 게임 3

    https://school.programmers.co.kr/learn/courses/30/lessons/181916  코드 설명 : 입력받은 변수 a,b,c,d에 대하여 1차원 int 배열을 생성이중 for문을 통해 중복값을 찾아 카운팅해 경우의 수를 찾음count해설0모둔 주

    djhelloworld.tistory.com


    https://djhelloworld.tistory.com/60
  11. 글자 이어붙여 문자열 만들기

    다른방법 :

    StringBuilder sb = new StringBuilder(); // 빈 StringBuilder 생성

    // append 메서드를 사용하여 문자열을 뒤에 추가할 수 있습니다.
    sb.append("Hello");

    // insert 메서드를 사용하여 특정 위치에 문자열을 삽입할 수 있습니다.
    sb.insert(5, ", World!");

    // delete 메서드를 사용하여 특정 범위의 문자열을 삭제할 수 있습니다.
    sb.delete(5, 7); // "Hello, World!"에서 ", "를 삭제합니다.

    // replace 메서드를 사용하여 특정 범위의 문자열을 다른 문자열로 대체할 수 있습니다.
    sb.replace(5, 6, "!"); // "Hello, World!"에서 " "를 "!"로 대체합니다.

    // toString 메서드를 사용하여 StringBuilder를 String으로 변환할 수 있습니다.
    String result = sb.toString();


  12. 9로 나눈 나머지
    ※ 중요 체크 포인트 : charAt을 통해 c값을 가져 온 후 해당 문자 'c'를 int로 형변환 하게 되면
                                      해당 문자의 유니코드값이 변하게 된다 그러므로 온전한 값을 얻기 위해서는 '0'을 빼줘야한다.
    다른방법 :

  13. 문자열 여러번 뒤집기
    - 내가 구현한 코드
      → for문 안에서 StringBuilder이 계속 생성되며 초기화 되고있어 메모리 낭비

    - 쳇gpt가 개선한 코드
       → for문 밖에 StringBuilder의 초기화값을 두고
           for문 안에 a.setLength(0);을 둬 객체를 초기화
    - 사용명령어 : StringBuilder(setLength, append, reverse)

 

 

 

 

 

 

 

 

 

 

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

 

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

프로그래머스 - 기초트레이닝 5일차  (0) 2024.05.06
프로그래머스 - 기초트레이닝 4일차  (0) 2024.05.04
프로그래머스 - 기초트레이닝 2일차  (0) 2024.05.02
프로그래머스 - 기초트레이닝 1일차  (0) 2024.05.01
프로그래머스 - 배열의 원소만큼 추가하기  (0) 2024.04.30
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 프로그래머스 - 기초트레이닝 5일차
  • 프로그래머스 - 기초트레이닝 4일차
  • 프로그래머스 - 기초트레이닝 2일차
  • 프로그래머스 - 기초트레이닝 1일차
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
    java enhance switch
    java super
    자료구조
    Java this
    java 제어자
    데이터 타입
    java 유클리드 호제법
    Java 생성자
    프로그래머스 java 기초 트레이닝
    java 멤버
    java arrays.copyofrnage()
    데이터 크기
    java기초
    java 세수의합
  • 최근 댓글

  • 최근 글

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

티스토리툴바