문제신고 시스템을 구현하여 특정 기준에 따라 신고된 유저의 계정을 정지하고, 신고자에게 결과를 메일로 알리는 과정을 코드로 구현하는 문제이다.각 유저의 신고는 중복되지 않게 처리해야 하며, 최종적으로 신고 결과에 따라 신고자가 받은 정지 메일 갯수를 반환한다.풀이정보를 저장할 HashMap들을 초기화한다.각 유저별로 그 유저를 신고한 사람들의 목록을 저장하기 위한 HashMap을 초기화한다. 이때 신고한 사람들의 중복을 허용하지 않기 위해 HashSet을 사용한다.유저별 메일 수신 횟수를 저장할 HashMap도 초기화합니다.신고 정보를 저장한다.신고 기록을 순회하며 신고자와 피신고자를 분리하고, 피신고자의 HashSet에 신고자를 추가한다.신고 횟수 조건을 체크하여 정지 메일을 보낸다.k번 이상 신고된 ..
문제차량의 입출차 기록을 통해 차량별 주차요금을 계산하는 문제이다.주차요금은 요금표를 기준으로 기본 시간에 대한 기본 요금을 부여하고 초과한 경우 단위 시간당 당위 요금이 추가된다.초과한 시간이 단위 시간으로 나누어 떨어지지 않는다면 올림으로 계산한다.풀이입차와 출차가 겹치는 경우가 없고, 입차와 출차 순서가 뒤집히는 경우도 없기 때문에 순차적으로 계산하기만 하면 간단히 주차 시간을 계산할 수 있다.출차 시간에서 입차 시간을 뺀 값이 주차 시간임으로 총 주차 시간을 계산할 때 차량별로 입차 시간은 빼주고, 출차 시간은 더해주면 된다.출차 기록이 없는 경우에는 23:59분으로 가정하고 계산해야 한다.이때 차량의 주차 시간을 통해 출차 기록이 없다는 것을 판단할 수 있다.입차 시간이 00:00 일 때는 주차..
문제인형 뽑기 게임을 진행하면서 몇 개의 인형이 사라졌는지 출력하는 문제이다.크레인이 작동한 위치에 따라 인형을 집어 올리고, 바구니(stack)로 이동하면서 인형이 연속되면 제거하여 사라진 인형 개수를 구한다.풀이2차원 배열과 스택을 활용해 문제를 풀 수 있다.크레인을 작동시킨다.move 위치에서 맨 위쪽부터 즉 row가 작은 순으로 탐색한다.인형이 있는 경우 인형 정보를 저장하고 board는 빈칸(0)으로 만든다.동일한 인형일 경우 인형을 제거한다.새로 뽑은 인형의 정보와 basket에 담긴 마지막 인형이 동일하다면 마지막 인형을 제거하고 count에 2를 더한다.만약 동일한 인형이 아니라면 뽑은 인형을 basket에 담는다.count 된 숫자를 return 한다.Python 코드def solutio..
문제문자열에 포함된 영단어를 숫자로 변환하는 과정을 구현하는 문제이다.예시) one4seveneight -> 1478풀이영단어 - 숫자 정보를 HashMap에 저장한다.for문을 통해 숫자 영단어를 순회하면서 replace 메서드를 사용해 숫자로 치환한다.최종적으로 치환된 문자열을 숫자로 변환하여 결과를 반환한다.Java 코드import java.util.HashMap;import java.util.Map;class Solution { public int solution(String s) { // 영단어-숫자 HashMap Map numMap = new HashMap(); numMap.put("zero", "0"); numMap.put("one", ..