728x90

알고리즘 26

[LeetCode-pascals triangle]파스칼의 삼각형, JAVA 구현

사용언어 : JAVA 문제 URL : https://leetcode.com/problems/pascals-triangle/ 참조 책 : 쓰면서 익히는 알고리즘과 자료구조(76~84page) 1.문제 -문제설명 정수 numRows가 지정되면 파스칼 삼각형의 첫 번째 numRows를 반환합니다. 파스칼 삼각형에서, 각 수는 그 바로 위에 있는 두 수의 합이다. 단, numRows는 1이상이고 30이하이다. Example 1 [입력] - numRows=5 [출력] - [ [1],[1,1],[1,2,1],[1,3,3,1],[1,4,6,4,1] ] Example 2 [입력] - numRows=1 [출력] - [[1]] 2.나의풀이 이 문제의 해결방법은 다음과 같다. 1. 1번째 리스트 요소를 1로 초기화 한다. ..

[LeetCode-Merge Sorted Array]정렬된 배열의 병합, JAVA 구현

사용언어 : JAVA 문제 URL : https://leetcode.com/problems/merge-sorted-array/ 참조 책 : 쓰면서 익히는 알고리즘과 자료구죠(59~69page) 1.문제 - 문제설명 두 개의 정수 배열 nums1과 nums2가 주어지며, 각각 nums1과 nums2의 원소 수를 나타내는 두 개의 정수 m과 n이 주어집니다. nums1과 nums2를 감소하지 않는 순서로 정렬된 단일 배열로 병합합니다. 마지막으로 정렬된 배열은 함수에 의해 반환되지 않고 배열 번호1 안에 저장되어야 합니다. 이를 수용하기 위해 nums1은 m + n의 길이를 가지며, 여기서 첫 번째 m 원소는 병합되어야 할 원소를 나타내고 마지막 n 원소는 0으로 설정되며 무시되어야 한다. nums2의 길이..

[백준-3273번]두 수의 합

사용언어 : JAVA 1.문제 - 문제설명 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 (ai, aj)쌍의 수를 구하는 프로그램을 작성하시오. - 입력 첫째 줄에 수열의 크기 n이 주어진다. 다음 줄에는 수열에 포함되는 수가 주어진다. 셋째 줄에는 x가 주어진다. (1 ≤ n ≤ 100000, 1 ≤ x ≤ 2000000) - 출력 문제의 조건을 만족하는 쌍의 개수를 출력한다. -예제 입력/출력 입력 9(입력되는 배열의수) 5 12 7 10 9 1 2 3 11(배열) 13(두수의 합) 출력 3 2.나의풀..

[프로그래머스-3, level 1 JAVA] 문자열을 정수로 바꾸기

레벨 : 1, 사용언어 : JAVA 1. 문제설명 - 문제설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. - 제한조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 0으로 시작하지 않습니다. - 입출력 예 예를들어 str이 1234이면 1234를 반환하고, -1234이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 2.나의 풀이 문자열을 정수로 바꾸는 문제 이다. s의 맨앞에는 부호(+,-)가 올 수도 있고 없을 수도 있다. 함수 Integer.parsetInt를 쓰면 간단하게 해결할 수 있는 문제였지만, pa..

[프로그래머스-2, level 1 완전탐색] 모의고사

레벨 : 1, 사용언어 : 자바, 완전탐색 문제 1.문제설명 - 문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누..

[프로그래머스 연습-1, level1 JAVA ] 두 개 뽑아서 더하기

1. 문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 2. 나의 풀이 중복된 값을 어떻게 처리하는지와 모든 수를 배열에 오름차순으로 담는 것을 어떻게 해야 할지가 고민 됐다. 내 비루한 머리에서 나온 방법은 아래와 같다. 우선 HashMap을 사용해서 두 수를 더한 값을 key, value에 넣는다면 중복된 값은 해결할 수 있을 것 같았다. 문제는 오름차순으로 처리하는 것이었는데, 테스트 예제는 모두 통과 하기에 자동으로 정렬이 되는 줄만 알았다. 하지만 HashMap은 내부 hash 값에 따라 키 순서가 정해 지므로 특정 규칙..

728x90