22일차 - 알고리즘 코드카타

2024. 8. 13. 21:27·Java & Spring/코딩테스트

- 회고

72. 달리기 경주 : https://school.programmers.co.kr/learn/courses/30/lessons/178871

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

- 풀이 과정

import java.util.*;
class Solution {
    static Map<String, Integer> rankMap = new HashMap<>();
    public String[] solution(String[] players, String[] callings) {
        for(int i = 0; i < players.length; i++){
            rankMap.put(players[i], i);
        }

        for (String c : callings) {
            int i = rankMap.get(c);
            swap(players, i);
        }
        return players;
    }

    public static void swap(String[] players, int idx){
        String tmp = players[idx - 1];
        players[idx - 1] = players[idx];
        players[idx] = tmp;

        rankMap.put(players[idx], rankMap.get(players[idx]) + 1);
        rankMap.put(players[idx - 1], rankMap.get(players[idx - 1]) - 1);
    }
}
  1. 현재 등수를 맵으로 저장
  2. 콜을 순회하며 콜이 됐을 때 위치변경하는 메서드 선언
  3. 기존 players배열과 인덱스를 매개변수로 받아
  4. 우선 등수를 변경해준다
  5. 그 다음 맵에 저장된 벨류값(등수)도 변경해준다

- 진행

일자 완료 번호
24.07.16 ~ 24.07.31 1~63
24.08.01 64
24.08.02 65
24.08.05 66
24.08.06 67
24.08.07 68
24.08.08 69
24.08.09 70
24.08.12 71
24.08.13 72
   
   
   

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

25일차 - 알고리즘 코드카타  (1) 2024.08.19
23일차 - 알고리즘 코드카타  (0) 2024.08.14
21일차 - 알고리즘 코드카타  (1) 2024.08.12
20일차 - 알고리즘 코드카타  (1) 2024.08.09
19일차 - 알고리즘 코드카타  (2) 2024.08.08
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 25일차 - 알고리즘 코드카타
  • 23일차 - 알고리즘 코드카타
  • 21일차 - 알고리즘 코드카타
  • 20일차 - 알고리즘 코드카타
DJ.Kang
DJ.Kang
백엔드 개발 기록 블로그
  • DJ.Kang
    DJ Hello World
    DJ.Kang
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 이론공부
        • 개념
        • 정보처리기사 필기
        • 정보처리기사 실기 기출
        • 네트워크관리사 2급
        • SQLD
      • 시스템설계
      • Java & Spring
        • TIL
        • 트러블슈팅
        • 고도화
        • 알고리즘
        • 코딩테스트
        • Java
        • Spring
        • Thymeleaf
      • 프로젝트
        • coin-trading
        • 트러블슈팅
      • Docker
      • 웹
      • git & github
  • 블로그 메뉴

    • 홈
  • 링크

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
DJ.Kang
22일차 - 알고리즘 코드카타
상단으로

티스토리툴바