일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 문자열
- dfs
- 자료구조
- docker
- 주니어
- HashMap
- 인텔리제이
- 개발자
- 프로그래머스
- HTTP
- 배열
- Java
- 도커
- Linux
- 스프링 부트
- spring
- 백엔드
- 해결
- IntelliJ
- 해시맵
- 스타트업
- 스프링
- 구현
- 코딩테스트
- 구름LEVEL
- 명령어
- 이직
- 스프링부트
- bfs
- spring boot
- Today
- Total
목록코딩테스트/프로그래머스 (47)
마이의 개발 블로그
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 특이사항 없이 간단하게 풀린 문제였다. - skill_tree 배열을 탐색 - 각 tree 문자열에서 skill에 들어있는 문자를 제외한 나머지 문자 삭제 (정규식 활용) - 남아있는 문자가 있을 경우 첫 글자(필수 스킬)를 포함하면서 skill과 패턴이 같을 경우 answer 증가 - 남아있는 문자가 없을 경우 가능한 스킬트리이므로 answer 증가 class Solution { public int solution(String skill, String[] skill_trees) { int answer = 0..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 정석으로 풀자면 모든 예외상황을 고려하거나 스택을 사용하여 괄호를 벗겨가며 하나씩 체크하는 게 맞지만 나는 다른 사람들보다는 조금 다르게(간단하게) 접근하고자 했다. - 주어진 괄호 문자열을 하나씩 밀어낸 String str 생성 - 문자열 전체 길이의 반만큼 반복하며 소, 중, 대괄호 세트로 벗겨내기 (어떤 괄호가 먼저 벗겨질지 알 수 없고, 최악의 경우 한 종류의 괄호로만 (s.length() / 2) 만큼 반복하며 벗겨내야하기 때문) - 문자열이 남아있는 경우 올바른 괄호가 아님 -> 문자열 길이가 0인..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 메시지를 먼저 만들어주고 나중에 마지막 닉네임으로 전부 교체해주는 식으로 접근하였으나, 시간초과와 런타임 에러가 나서 접근방식을 바꾸고 해결된 문제이다. - record를 한 바퀴 돌며 id에 해당하는 마지막 닉네임을 map에 저장 (key: 아이디, value: 닉네임) - 같은 반복문 안에서 Change 명령어를 제외한 Enter, Leave의 경우에만 list에 저장 - list 사이즈만큼 String[] answer 생성 - map.get 메서드로 ID 가져오기 (중요) - Enter, Lea..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내용만 보면 텍스트를 이리저리 다뤄야할 것 같았는데 막상 읽어보니 경우의 수를 구하는 문제였다. - HashMap을 선언하여 얼굴, 상의, 하의, 겉옷의 개수를 카운트함 - 종류별 옷의 개수에 안 입는 경우를 더한 후 곱하기 : (얼굴 + 1) * ... * (겉옷 + 1) - 마지막에 전부 안 입는 경우 1을 빼줌 Note - 고등학교 때 배운 조합식(nCr)을 바로 떠올리긴 했지만 구체적인 수식이 정확하게 기억나지 않아 개념을 찾다보니 결국 전체 경우의 수를 구하면 되는 문제라고 판단하게 되었다. - 전체..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 우선순위 대기열이다보니 스택이나 큐를 사용해서 풀어보려고 했는데 결국 반복문으로 해결했다. - 계속 한쪽방향으로 순회하며 1) 문서의 가장 큰 우선순위 여부 체크 2) 가장 큰 우선순위인 경우 프린트 (해당 문서 우선순위를 0으로 변경) 3) 프린트 순서(order) 증가 4) 프린트된 문서가 location인 경우 순서 반환 Note - 이 문제의 경우 탐색이 끝난 후 다음 index로 넘어갈 때 자동으로 이전 index의 문서가 마지막 프린트 우선순위가 되므로 별도로 문서의 우선순위를 저장할 필요가 없다고..