lv.1
-
이번 문제는 다른 문제보다 훨씬 더 쉽게 느껴졌다. 바탕화면 분석 : 먼저, 주어진 wallpaper 배열을 순회하며 파일이 위치한 가장 왼쪽, 오른쪽, 위, 아래 지점을 찾는다. 좌표사용 : 이렇게 찾은 좌표를 이용해 드래그의 시작점과 끝점을 결정한다. class Solution { public int[] solution(String[] wallpaper) { int[] answer = new int[4]; int top = 51; int bottom = 0; int left = 51; int right = 0; for(int i = 0; i < wallpaper.length; i++) { for(int j = 0; j < wallpaper[0].length(); j++) { if(wallpaper[i..
프로그래머스 - 바탕화면이번 문제는 다른 문제보다 훨씬 더 쉽게 느껴졌다. 바탕화면 분석 : 먼저, 주어진 wallpaper 배열을 순회하며 파일이 위치한 가장 왼쪽, 오른쪽, 위, 아래 지점을 찾는다. 좌표사용 : 이렇게 찾은 좌표를 이용해 드래그의 시작점과 끝점을 결정한다. class Solution { public int[] solution(String[] wallpaper) { int[] answer = new int[4]; int top = 51; int bottom = 0; int left = 51; int right = 0; for(int i = 0; i < wallpaper.length; i++) { for(int j = 0; j < wallpaper[0].length(); j++) { if(wallpaper[i..
2024.04.01 -
이번 문제는 각 개인정보의 유효기간을 계산하여, 주어진 날짜와 비교 후 지워야 할 데이터를 선별하는 것이다. 이번 문제를 풀기위해 DateTimeFormatter와 LocalDate 객체를 사용했다. 유효기간 Map객체에 매핑 : 유효기간을 terms 배열에서 termMap에 저장한다. Key는 약관, value는 유효기간으로 저장한다. Map termMap = new HashMap(); for(int i = 0; i < terms.length; i++) { termMap.put(terms[i].split(" ")[0], Integer.parseInt(terms[i].split(" ")[1])); } 개인정보 검토 및 파기 대상 식별 : 개인정보의 약관 종류와 수집 일자를 파악한다. 해당 약관의 유효기간..
프로그래머스 - 개인정보 수집 유효기간이번 문제는 각 개인정보의 유효기간을 계산하여, 주어진 날짜와 비교 후 지워야 할 데이터를 선별하는 것이다. 이번 문제를 풀기위해 DateTimeFormatter와 LocalDate 객체를 사용했다. 유효기간 Map객체에 매핑 : 유효기간을 terms 배열에서 termMap에 저장한다. Key는 약관, value는 유효기간으로 저장한다. Map termMap = new HashMap(); for(int i = 0; i < terms.length; i++) { termMap.put(terms[i].split(" ")[0], Integer.parseInt(terms[i].split(" ")[1])); } 개인정보 검토 및 파기 대상 식별 : 개인정보의 약관 종류와 수집 일자를 파악한다. 해당 약관의 유효기간..
2024.03.31 -
이번 문제를 해결하기 위한 방법은 선수들의 현재 순위를 관리하는 것이다. 이를 위해 HashMap을 사용하여 각 선수의 이름과 현재 순위를 key-value 쌍으로 저장한다. 해설진이 선수 이름을 부를 때마다 해당 선수는 바로 앞 선수를 추월한 것으로 간주하여 순위를 업데이트한다. 1. 초기 순위 설정 : 선수들의 초기 순위를 HashMap에 저장한다. 이 때 선수들의 이름을 key로, 현재 등수를 value(index) 값으로 사용한다. Map runners = new HashMap(); for(int i = 0; i < players.length; i++) { runners.put(players[i], i); } 2. 추월 상황 처리 : 해설진이 부른 이름을 기반으로 순위 변경 로직을 실행한다. 호출..
프로그래머스 - 달리기 경주이번 문제를 해결하기 위한 방법은 선수들의 현재 순위를 관리하는 것이다. 이를 위해 HashMap을 사용하여 각 선수의 이름과 현재 순위를 key-value 쌍으로 저장한다. 해설진이 선수 이름을 부를 때마다 해당 선수는 바로 앞 선수를 추월한 것으로 간주하여 순위를 업데이트한다. 1. 초기 순위 설정 : 선수들의 초기 순위를 HashMap에 저장한다. 이 때 선수들의 이름을 key로, 현재 등수를 value(index) 값으로 사용한다. Map runners = new HashMap(); for(int i = 0; i < players.length; i++) { runners.put(players[i], i); } 2. 추월 상황 처리 : 해설진이 부른 이름을 기반으로 순위 변경 로직을 실행한다. 호출..
2024.03.31 -
이번 문제의 주요 로직은 다음과 같다. 공원의 초기 상태 파악하기: 문자열 배열 park를 이용하여 공원의 상태를 2차원 배열 newPark에 저장한다. 이때, 산책 시작 위치도 함께 저장한다. 명령에 따라 이동 처리하기: 문자열 배열 routes에 담긴 각 명령을 분석하여 이동할 방향과 거리를 결정한다. 이때, move 메소드를 호출하여 실제 이동 처리를 진행한다. 이동 가능 여부 확인하기: move 메소드 내에서는 산책 도중 공원을 벗어나거나 장애물에 부딪히는지 확인한다. 만약 이동 중 장애물을 만나거나 공원 경계를 벗어나려고 한다면, 해당 명령을 무시하고 위치를 조정하지 않는다. 먼저 공원의 초기 설정이다. for(int i = 0; i < park.length; i++) { for(int j = ..
프로그래머스 - 공원 산책이번 문제의 주요 로직은 다음과 같다. 공원의 초기 상태 파악하기: 문자열 배열 park를 이용하여 공원의 상태를 2차원 배열 newPark에 저장한다. 이때, 산책 시작 위치도 함께 저장한다. 명령에 따라 이동 처리하기: 문자열 배열 routes에 담긴 각 명령을 분석하여 이동할 방향과 거리를 결정한다. 이때, move 메소드를 호출하여 실제 이동 처리를 진행한다. 이동 가능 여부 확인하기: move 메소드 내에서는 산책 도중 공원을 벗어나거나 장애물에 부딪히는지 확인한다. 만약 이동 중 장애물을 만나거나 공원 경계를 벗어나려고 한다면, 해당 명령을 무시하고 위치를 조정하지 않는다. 먼저 공원의 초기 설정이다. for(int i = 0; i < park.length; i++) { for(int j = ..
2024.03.31 -
프로그래머스 Lv.1 정답률 낮은 순부터 풀어보고 있는데 그 이상한 카카오톡 선물하기 보다는 이 문제가 훨씬 쉽게 느껴졌다. 문제를 보기 편해서 그런가..? 이 문제는 공격 시간과 그 전 공격 시간 사이의 간격만 잘 파악하면 쉽게 풀 수 있는 문제였다. 먼저 이전 공격시간과 공격시간의 차이가 1초이면 회복을 할 수 없다는 점이 문제 푸는데 나름 함정이라면 함정이라고 할 수 있었다. 그 부분을 빼면 거의 대부분의 분들이 어렵지 않게 풀 수 있을 것이다. class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int casting = bandage[0]; int heal = bandage[1]; int bonusHe..
프로그래머스 - 붕대 감기프로그래머스 Lv.1 정답률 낮은 순부터 풀어보고 있는데 그 이상한 카카오톡 선물하기 보다는 이 문제가 훨씬 쉽게 느껴졌다. 문제를 보기 편해서 그런가..? 이 문제는 공격 시간과 그 전 공격 시간 사이의 간격만 잘 파악하면 쉽게 풀 수 있는 문제였다. 먼저 이전 공격시간과 공격시간의 차이가 1초이면 회복을 할 수 없다는 점이 문제 푸는데 나름 함정이라면 함정이라고 할 수 있었다. 그 부분을 빼면 거의 대부분의 분들이 어렵지 않게 풀 수 있을 것이다. class Solution { public int solution(int[] bandage, int health, int[][] attacks) { int casting = bandage[0]; int heal = bandage[1]; int bonusHe..
2024.03.27