본문 바로가기

Wook's 개척일기234

[프로그래머스 : 레벨1] 모의고사 (Java) 이번 문제는 레벨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, ... .. 2021. 6. 8.
[프로그래머스 : 레벨 2] H-Index : 문제 설명 (Java) 이번 문제는 진짜 문제를 이해하는데 많은 시간이 들었다. 문제가 뭔소린지 모르니 문제를 풀줄도 몰랐다. 그래서 풀이를 봤지만 풀이를 봐도 이해를 할수가 없었다. 내가 이해가 바로 갔던 사이트는 아래 사이트였다. https://www.ibric.org/myboard/read.php?Board=news&id=270333 [연구논문을 위한 핵심 10단계] H-지수(H-Index) 란 무엇인가? 일반적으로 특정 연구원의 연구성과를 평가하기 위해 얼마나 많은 논문을 발표 하였는지를 보게됩니다. 그러나 단순히 발표한 논문 수로만 그 연구원의 연구 업적을 평가 하기에는 발표한 논문 www.ibric.org 위 사이트에서 보고 내가 이해한 것은 아래와 같다. h-index를 구하는 이유는 논문 쓴 사람의 논문의 영향력.. 2021. 6. 4.
[자료구조] 퀵정렬 (Java) 퀵정렬은 값을 다른 원소와 비교만으로 정렬을 수행하는 비교 정렬이다. 퀵정렬은 분할정복 알고리즘중 하나로 평균 수행속도가 빠르다. 분할정복이란? 분할 정복은 하나의 문제를 2개의 문제로 분리하여서 해결한 다음 하나로 모아서 원래의 문제를 해결하는 전략이다. 그렇담 퀵정렬에서는 분할정복 방식이 어떻게 적용이 되는지 알아보자. 퀵정렬 과정 1. 배열안의 한 요소를 선택한다. 2. 여기서 고른 원소는 pivot(피봇)이라고 한다. 3. 피봇을 기준으로 피봇보다 작은쪽은 모두 왼쪽으로 옮기고 피봇보다 큰쪽은 피봇의 오른쪽으로 옮긴다. 4. 그렇게 나뉜 피벗을 기준으로 파티션을 나눠서 또다시 위와 같은 방식으로 파티션이 한개가 되기전까지 분류를 한다. 그래서 이처럼 크기가 1이될때까지 계속해서 분할하기 때문에 시.. 2021. 6. 4.
[프로그래머스 : 레벨 2] 가장 큰수 : Array.sort 와 퀵정렬 (Java) 이번 문제는 문제 자체는 쉬웠으나 내가 처음에 이상한 방식으로 풀었어서 답을 풀지 못했다. 근데 답을 알고나니 엄청 간단한 문제였다. 역시 모든건 규칙을 찾아야 하고 문제가 원하는게 뭔지 정확하게 알아야 한다. 이제 문제를 보자. 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 .. 2021. 6. 3.