100%를 한번에 바꾸는건 어려워도 1%를 100번 바꾸는건 쉽다.

생각정리 자세히보기

분류 전체보기 75

[알고리즘] 2차원으로 만들기

문제설명 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. 제한사항 num_list의 길이는 n의 배 수개입니다. 0 ≤ num_list의 길이 ≤ 150 2 ≤ n

[알고리즘] n의 배수 구하기

문제설명 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ n ≤ 10,000 1 ≤ numlist의 크기 ≤ 100 1 ≤ numlist의 원소 ≤ 100,000 내가 풀이한 방법 import java.util.*; class Solution { public int[] solution(int n, int[] numlist) { List list = new ArrayList(); for (int a : numlist) { if (a % n == 0) list.add(a); } return list.stream().mapToInt(Integer::intValue).to..

[알고리즘] 개미 군단

문제설명 개미 군단이 사냥을 나가려고 합니다. 개미군단은 사냥감의 체력에 딱 맞는 병력을 데리고 나가려고 합니다. 장군개미는 5의 공격력을, 병정개미는 3의 공격력을 일개미는 1의 공격력을 가지고 있습니다. 예를 들어 체력 23의 여치를 사냥하려고 할 때, 일개미 23마리를 데리고 가도 되지만, 장군개미 네 마리와 병정개미 한 마리를 데리고 간다면 더 적은 병력으로 사냥할 수 있습니다. 사냥감의 체력 hp가 매개변수로 주어질 때, 사냥감의 체력에 딱 맞게 최소한의 병력을 구성하려면 몇 마리의 개미가 필요한지를 return하도록 solution 함수를 완성해주세요. 제한사항 hp는 자연수입니다. 0 ≤ hp ≤ 1000 내가 풀이한 방법 class Solution { public int solution(i..

[알고리즘] 최빈값 구하기

문제 설명 최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다. 제한사항 0 < array의 길이 < 100 0 < array의 원소 < 1000 내가 풀이한 방법 class Solution { public int solution(int[] array) { int[] index = new int[1000]; // 값별 개수를 구하기 위한 변수 int rep = 0; // 중복여부 int max = 0; // 최대값(최빈값) int answer = 0; // 결과값 for (int i = 0; i < array.length; i++) { ..

[기타] 인텔리제이 세팅

인텔리제이를 사용하기 시작하면서 매 프로젝트마다 기본적인 세팅 방법을 다시 찾아보는 것이 번거로워 글로서 정리하게 되었다. 인텔리제이 설치시 한번만 설정을 해도 되는 것. 1. 글꼴 설정 프로그래밍을 위한 가독성 좋은 폰트를 설정한다. Naver에서 제공해주는 D2Coding 폰트를 설정한다. 크기는 사용자에 맞게 설정한다. https://github.com/naver/d2codingfont/releases/tag/VER1.3.2 Release D2Coding Ver 1.3.2 · naver/d2codingfont D2Coding 1.3.2 버전을 릴리즈 합니다. ligature 관련 이슈를 수정하여, ligature 적용/미적용 폰트를 구분하여 배포합니다. 기존 버전은 반드시 삭제후 설치 바랍니다. 개..

개발/기타 2023.10.19

[Node.js] puppeteer libatk-bridge-2.0.so.0 이슈 해결

최근 회사에서 puppeteer를 사용하여 크롤링을 해야하는 일이 있었다. 그렇게 로컬에서 잘 테스트를 마치고 배포를 하였는데, 갑자기 서버가 죽어버렸다. 에러코드는 다음과 같았다. error while loading shared libraries: libatk-bridge-2.0.so.0: cannot open shared object file: No such file or directory 열심히 해당 내용을 구글링했고, 다음의 게시글을 발견하였다. https://github.com/puppeteer/puppeteer/issues/1598 Error while loading libatk-bridge-2.0.so.0 · Issue #1598 · puppeteer/puppeteer When running..

[디자인패턴] 디자인패턴이란?

개요 디자인 패턴이란? 소프트웨어 디자인 과정에서 자주 발생하는 문제들에 대한 해결책이며 미리 만들어진 청사진입니다. 즉, 디자인 패턴은 모호하고 복잡한 개념이 아닌 일반적인 문제들에 대한 해결책입니다. 라이브러리나 함수들을 코드에 복사해 사용하는 것처럼 패턴을 붙여넣기식으로 사용할 수 없고, 패턴은 재사용할 수 있는 코드 조각이 아니라 특정 문제를 해결하는 방식을 알려주는 일반적인 개념입니다. 패턴의 세부 개념들을 적용하여 프로젝트에 맞는 해결책을 구현할 수 있습니다. 알고리즘과 다른점? 알고리즘과 자주 혼동되는데 두 개념 모두 알려진 문제에 대한 일반적인 해결책을 설명하기 때문인데요. 차이점이 있다면 알고리즘은 어떤 목표를 달성하기 위해 따라야하는 일련의 절차를 정의하고 디자인 패턴은 해결책에 대한 ..

[내 이야기] 2022년 회고

22년도 회고를 시작하며 지난번에 21년도부터 회고록을 쓰기 시작했습니다. 회고록을 쓰니 나름 생각도 어느정도 정리가 되는거 같고, 목표지향적으로 살아야지 라는 생각을 조금이라도 더 하게 되었어요. 하지만 사람의 인생이 계획대로 되는게 많이 없더라고요... 그래서 먼저 22년 계획중 이루지 못한 것들, 이루어 낸 것들과 계획하지 않았는데 이루어 낸 것들에 대해서 이야기를 해보려고 합니다. 아 참, 21년도 회고록은 여기 있습니다. https://dc-choi.tistory.com/41 [내 이야기] 2021년 회고 회고를 시작하며 누구나 다사다난했지만 개인적으로는 엄청나게 많은일이 있었고 원하는 바를 이루어낸 21년도였습니다. 사실 저는 엄청난 사회적 지위가 있는것은 아닙니다만 저 자신을 중간 dc-ch..