Algorithms/Programmers 132

[Programmers] 튜브의 소개팅

⬇️ 문제 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/1839 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 m : time_map 의 행 n : time_map 의 열 s : 튜브가 대화 할 수 있는 시간 범위는 1

[Programmers] 바탕화면 정리

⬇️ 문제 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/161990 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 조건 '#' 표시인 아이콘과 빈 자리인 '.'으로 표시된 wallpaper 배열이 주어진다. 가장 최소한의 드래그 좌표 값을 리턴한다. answer[0], answer[1]은 가장 좌상단의 좌표 값 answer[2], answer[3]은 가장 우하단의 좌표 값 문제 풀이 2중 For문을 통해 wallpaper에 '#' 표시의 아이콘의 좌표를 찾는다. #표시가 나오면 ..

[Programmers] 덧칠하기

문제 조건 n은 벽 전체의 길이, m은 한 번 롤러를 칠할 때 칠할 수 있는 길이 section배열은 칠해야하는 벽의 구역 번호 주어진 section 배열은 이미 오름차순 정렬 되어 있다. 문제 풀이 max는 롤러를 통해 칠해진 가장 마지막 구역이다. 롤러질을 하기 전 초기값은 section의 맨 처음 구역으로 지정한다. section의 값을 통해 칠해야 할 구역번호보다 max가 적은값이면, 롤러횟수인 answer값을 한번 올려주고, max값에 m을 더해준다. n보다 값이 커지면 해당 벽 전체에 롤러질을 끝냈다는 뜻이므로 for문 종료 후 answer값 리턴 https://school.programmers.co.kr/learn/courses/30/lessons/161989 프로그래머스 코드 중심의 개발자..

[Programmers] 연속 펄스 부분 수열의 합

문제 조건 펄스 수열이란 [1, -1, 1, -1 ...] 이나 [-1, 1, -1, 1 ...] 과 같이 1 이나 -1로 시작하여 1과 -1이 번갈아 나오는 수열이다. 주어진 sequence 배열에 펄스 수열을 곱한 수열 중 합이 가장 큰 부분 의 합을 리턴한다. 문제 풀이 Class getArraysMaxSum 은 부분 수열의 합을 구하는 메서드이다. tmpSum 에 수열을 처음부터 더하면서, 합의 최대 값은 maxSum에 저장해둔다. 더한 값이 음수로 떨어지지만 않는다면 계속 값을 더해 최대 값을 만들어 주는 것이 핵심이다. 음수로 떨어지면 기록해왔던 최대값에 -가 되므로 값을 새로하여 다시 갱신한다. plus 배열에는 +1 로 시작하는 펄스 수열을 저장하고 minus 배열에는 -1로 시작하는 배열..

[Programmers] 대충 만든 자판

문제 조건 keymap배열에 중복으로 알파벳이 String으로 주어진다. targets의 문자를 입력하기까지 최소로 눌러야하는 keymap 의 수를 리턴한다. 문제 풀이 alpha 배열에 알파벳에 따라 몇 번 눌러야 최소값이 되는지 저장한다. 예를 들면 A -> alpha[0] = 1 / B -> alpha[1] = 2 이런식으로 저장한다. targets배열의 알파벳을 따라 alpha 배열에 저장된 숫자를 꺼내 더해준다. alpha배열에 값이 초기값이면 keymap에 없는 알파벳이므로 target을 만들 수 없으므로 -1리턴 target에 있는 모든 알파벳을 다 더한값을 리턴한다. https://school.programmers.co.kr/learn/courses/30/lessons/160586 프로그래..