본문 바로가기

알고리즘84

[프로그래머스 / 자바] - 평행 평행 - LV.0문제점 2차원 정수 배열 dots가 매개변수로 주어집니다.네 개의 좌표를 담은 이차원 배열 dots가 다음과 같이 매개변수로 주어집니다. [[x1, y1], [x2, y2], [x3, y3], [x4, y4]]주어진 네 개의 점을 두 개씩 이었을 때,두 직선이 평행이 되는 경우가 있으면 1을 없으면 0을 출력하는 문제입니다.테스트 (인텔리제이)평을 찾으라는 의미는 두 직성의 기울기가 동일한 것을 찾으라는 의미입니다.기울기의 공식은 아래와 같고​​ 평행을 구하는 공식은 아래와 같습니다.우선 첫 번째 공식은 네 개의 점의 모든 경우를 탐색하는 방법입니다.네 개의 점 중 두개를 선택하여 첫 번째 직선을 만들고, 남은 두 점으로 두 번쨰 직선을 만드는 모든 경우를 탐색합니다.첫 번째 직선을 이루.. 2024. 10. 10.
[프로그래머스 / 자바] - 겹치는 선분의 길이 겹치는 선분의 길이 - LV.0문제2차원 정수 배열 lines가 매개변수로 주어집니다.선분 3개가 평행하게 놓여 있습니다. 세 선분의 시작과 끝 좌표가[[start, end], [start, end], [start, end]] 형태로 들어있는 lines가 주어질 때,두 개 이상의 선분이 겹치는 부분의 길이를 출력하는 문제입니다.lines가 [[0, 2], [-3, -1], [-2, 1]]일 때선분이 두 개 이상 겹친 곳은 [-2, -1], [0, 1]로 길이 2만큼 겹쳐있습니다.테스트 (인텔리제이)각 원소의 start ~ end까지의 모든 값을 key value 형태로 저장해서 겹치는 부분이 있다면 해당 key의 value 값을 1씩 증가하게 하고 최종적으로 value 값이 2 이상인 값을 카운트 해주면.. 2024. 10. 9.
[프로그래머스 / 자바] - 주사위 게임 3 주사위 게임 3 - LV.0문제테스트 (인텔리제이)문제를 보면 4개의 주사위 값에 따라 연산하는 방법이 다른 조건 5가지가 존재합니다.그래서 첫 번째 조건부터 if문으로 하나씩 처리하면 해결할 수 있겠다 생각했습니다.첫 번째 조건은 4개의 주사위 값이 모두 같을 때,두 번째 조건은 3개의 주사위 값이 모둔 같을 때 (1,2,3,4번 주사위가 존재한다고 했을 때 1,2,3이 같을 수 있고 2,3,4가 같을 수 있기 때문에 2개의 조건으로 나눠서 처리했습니다.)세 번째 조건은 주사위 값이 2개씩 같을 때,네 번째 조건은 주사위 값이 2개만 같을 때 (해당 조건은 1,2,3,4번 주사위가 존재할 때 1,2 / 2,3 / 3,4 이렇게 같을 경우의 수가 있기 때문에 3개의 조건으로 나눠서 처리했습니다.)이렇게 .. 2024. 10. 7.
[프로그래머스 / 자바] - PCCE 기출문제 8번 닉네임 규칙 PCCE 기출문제 8번 닉네임 규칙 - LV.0문제문자열 nickname이 매개변수로 주어집니다.온라인 서비스를 이용하기 위해서 닉네임이 필요합니다.이때 닉네임이 될 수 있는 조건은 다음과 같습니다. 닉네임의 길이가 4자 이상 8자 이하여야합니다.닉네임에는 소문자 l과w, 대문자 O와 W를 사용할 수 없습니다.이외의 영어 대소문자와 숫자는 모두 사용이 가능합니다.주어진 solution 함수는 사용할 수 없는 닉네임 nickname을 받아 사용할 수 있는 닉네임으로 바꿔주는 함수입니다. 이때 닉네임을 변경하는 규칙은 다음과 같으며 첫 번째 규칙부터 순서대로 적용합니다. 소문자 l을 대문자 I로 변경합니다.소문자 w를 두 개의 소문자 v, 즉 vv로 변경합니다.대문자 W를 두 개의 대문자 V, 즉 VV로 변.. 2024. 10. 6.
[프로그래머스 / 자바] - PCCE 기출문제 8번 창고 정리 PCCE 기출문제 8번 창고 정리 - LV.0문제문자열 배열 storage와 정수 배열 num이 매개변수로 주어집니다.선빈이는 게임을 즐기던 중 가지고 있는 물건이 너무 많아 창고 정리를 하기로 했습니다.창고를 정리할 방법을 고민하던 선빈이는 같은 물건이 여러 칸에 나누어 들어있는 것을 발견같은 물건끼리 최대한 겹쳐쌓는 방식으로 창고를 정리하기로 했습니다.선빈이의 창고에 들어있는 물건의 이름과 개수는 리스트 형태로 주어지며,한 칸에 겹쳐질 수 있는 물건의 개수에는 제한이 없다고 가정합니다.예를 들어 창고의 각 칸에 담겨있는 물건의 이름이 storage = ["pencil", "pencil", "pencil", "book"],각 물건의 개수가 num = [2, 4, 3, 1]이라면 연필과 책을 한 칸에 각.. 2024. 10. 2.