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

2024. 8. 8. 09:59·Java & Spring/코딩테스트

- 회고

69. 성격 유형 검사하기 : https://school.programmers.co.kr/learn/courses/30/lessons/118666

 

프로그래머스

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

programmers.co.kr

import java.util.*;
class Solution {
    public String solution(String[] survey, int[] choices) {
        Map<String, Integer> map = new HashMap<>(Map.of(
                "R", 0, "T", 0,
                "C", 0, "F", 0,
                "J", 0, "M", 0,
                "A", 0, "N", 0
        ));
        for (int i = 0; i < choices.length; i++) {
            char a = survey[i].charAt(0);
            char b = survey[i].charAt(1);
            int c = choices[i];

            if (c < 4) {
                map.put(Character.toString(a), map.get(Character.toString(a)) + (4 - c));
            } else if (c > 4) {
                map.put(Character.toString(b), map.get(Character.toString(b)) + (c - 4));
            }
        }

        StringBuilder sb = new StringBuilder();
        sb.append(map.get("R") >= map.get("T") ? "R" : "T");
        sb.append(map.get("C") >= map.get("F") ? "C" : "F");
        sb.append(map.get("J") >= map.get("M") ? "J" : "M");
        sb.append(map.get("A") >= map.get("N") ? "A" : "N");
        
        return sb.toString();
    }
}

 

- 풀이 과정

  1. 각 유형으로 value값이 0인 map을 선언
  2. choices배열은 순회하며 선택값이 4보다 작은 경우 survey배열 해당 인덱스의 첫글자, 큰경우 두번째글자의 키값의 벨류를 증감
  3. 삼항연산자를 통해 선택된 유형으로 StringBuilder하여 정답 출력

※ 처음 테스트 케이스만 신경써서 만들다보니 유형 선택 시 +1점만 진행(유형별 선택수준에 따라 점수배분)

- 진행

일자 완료 번호
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
   
   
   
   
   
   

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

21일차 - 알고리즘 코드카타  (1) 2024.08.12
20일차 - 알고리즘 코드카타  (1) 2024.08.09
18일차 - 알고리즘 코드카타  (0) 2024.08.07
17일차 - 알고리즘 코드카타  (0) 2024.08.06
16일차 - 알고리즘 코드카타  (0) 2024.08.06
'Java & Spring/코딩테스트' 카테고리의 다른 글
  • 21일차 - 알고리즘 코드카타
  • 20일차 - 알고리즘 코드카타
  • 18일차 - 알고리즘 코드카타
  • 17일차 - 알고리즘 코드카타
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기초
    java enhance switch
    자료구조
    java arrays.copyofrnage()
    개발로드맵
    Java this
    java super
    java 제어자
    프로그래머스 java 기초트레이닝
    데이터 타입
    java
    데이터 크기
    java 유클리드 호제법
    java 멤버
    Java 생성자
    프로그래머스 java 기초 트레이닝
    java 세수의합
    java two-pointer
    java 메서드
  • 최근 댓글

  • 최근 글

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

티스토리툴바