프로그래머스 - 기초트레이닝 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일차  (1) 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
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 이론공부 N
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출 N
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

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

티스토리툴바