반응형

전체 글 309

백준 1339: 단어 수학 - javascript(그리디)

문제 출처 https://www.acmicpc.net/problem/1339 문제 풀이 이건 정말 아이디어가 필요했다. 난 정~ 말 복잡하게 풀었었는데, 해법을 보고 머리를 탁 ~ 쳤다 ! 앞으로 비슷한 문제가 있다면 이런 접근을 활용해야 겠다   이 문제는 사실 두개를 고려해야 하는데 우선순위가 높을 수록 높은 숫자를 받는 것이라고 할 때, - 높은 자리에 있을 수록 (십의 자리 > 일의 자리) 우선순위가 올라간다. - 빈번하게 나타날 수록 (만약 십의 자리에 있는 문자가 'A', 'B'가 있을 때, 만약 A가 일의 자리에 B보다 더 많이 나타났다면)우선순위가 올라간다. 이 복잡한 셈처럼 보이는 것이 아주 ~ 간단한 아이디어로 쉽게 풀린다.  "각 문자를 돌면서 해당 문자가 있는 자리수를 계속 더해주는..

백준 2110: 공유기 설치 - javascript(이진탐색, 그리디)

문제 출처 https://www.acmicpc.net/problem/2110 정답 풀이 흠 이 문제의 입력값을 봐보자. 집의 개수는 무려 (2공유기의 개수는 (2집의 좌표는 (0 엄청난 범위,,, 어떤 알고리즘이 생각나는가?이진탐색 !!!  이진탐색은 어떤 값을 기준으로 탐색해나갈 것인가가 중요하다. 여기서는 `공유기 사이의 최대거리`를 기준으로 탐색하면 되겠다.  공유기 사이가 될 수 있는 범위는 (1이상 ~ 가장 마지막 집 - 가장 첫번째 집) 이 될 것이다. 아래 그림을 보면 이해가 쉽다.   정리하자면,  - 공유기 거리의 최솟값은 : 1 - 공유기 거리의 최댓값은 :  마지막 집 위치 - 첫번째 집 위치    이제 문제를 두 부분으로 나눠서 생각하면 된다. - 공유기 최대 거리를 이진탐색으로 찾..

백준 1715 : 카드 정렬하기 - python (우선순위 큐, 최소힙)

문제 출처 https://www.acmicpc.net/problem/1715 정답 풀이 되게 흥미로운 문제였다. 이 문제에서 우선순위 큐를 사용한다? 생각하지 못했고, 우선순위 큐를 이용하라고 해서 고민해보니, 나온 코드다 ~  ## 1. 초기 설정 [10,20,30,40,50]이 주어졌다고 생각하자. - 아래 그림과 같이 우선순위 큐에다가 주어진 배열의 모든 값을 넣자. - answer 변수도 0값으로 할당  ## 2.  우선순위 큐에서 작은 값 두개 빼기  - 아래 그림과 같이 우선순위 큐에서 heappop()을 통해 작은 값 두개가 나오도록 한다. - heapq의 기본 설정은 최소힙이라 가장 작은 값이 나온다. - 그 후, answer에다가 10 + 20을 더한 값을 더해준다 answer = 30 ..

프로그래머스: 자물쇠와 열쇠 - javascript(단순 구현)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/60059 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 이런 문제는 시간을 두고 본인이 해결할 때까지 다른 사람이 푼 코드를 보지 않는다면 좋겠다. 어떤 특별한 알고리즘이 필요한 것이 아니라서,, 자기가 끈질기게 구현해보는 연습을 할 수 있는 좋은 문제인 것 같다.  하지만 이 정도의 아이디어는 얻고 혼자 풀면 좋을 것 같은데 아래 그림과 같이 주어진 lock을 가로, 세로 3배씩 확장시킨 그래프로 생각하는 것이다. 그래서 거기서 k..

#[1차] 2024 NHN 게임 부문 공개채용 서류 합격 & 코딩테스트 후기

[글에 앞서 공지사항] 취업 중단 이슈? 로 꽁꽁 숨겨둔(ㅋㅋㅋ) 합격 서류 지원서(이력서 | 자소서 | 포트폴리오 중 제출한 모든것)를 3000원에 제공하려고 합니다 ! 💳 결제 방법: 카카오페이 QR 코드로 3,000원을 송금해주세요.👉 아래 QR 코드를 스캔하여 결제 가능합니다.결제 후 댓글에 아래 정보를 남겨주세요:송금자 이름 (ex: 김취업)송금 시간 (ex: 오후 2:35)📩 파일 제공 방법:결제 확인 후, 구글 드라이브 URL을 23:00~24:00 사이에 제공드립니다.댓글 확인 후 빠르게 처리해 드릴게요! 😊🔒 주의사항:개인 정보를 포함하지 않으니 안심하세요.결제 후 댓글을 남기지 않으면 확인이 어려울 수 있습니다.  지원NHN 공개채용이 떴다. 게임에 관심 많은 개발자라면, 특히..

취준 2024.08.17

프로그래머스: 매칭 점수 - 실수 축제 (중괄호랑 return)

아래와 같이 작성했을 때, idx를 찾지 못한 것을 발견했다. let urlIdx = pageArr.findIndex((p) => { p.match(//gi)}) 이유) - 화살표 함수가 중괄호로 감싸져 있기 때문 - 중괄호를 사용하면 명시적으로 `return` 키워드를 사용하지 않는 한, 함수는 'undefined'를 반환한다. - 이 경우, p.match()이 부분의 결과가 반환되지 않으므로, findIndex는 항상 -1를 받고 -1를 반환한다. let urlIdx = pageArr.findIndex((p) => { return p.match(/  그래서 return 을 명시적으로 추가해줘야 한다.  혹은  중괄호를 쓰지 않는 방법이 있다.  let urlIdx = pageArr.fin..

프로그래머스: 재구매가 일어난 상품과 회원 리스트 구하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/131536 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 풀이 `GROUP BY`와 `HAVING` 절은 - 데이터를 그룹화하고, - 특정 조건을 만족하는 그룹만을 필터링한다.  ## GROUP BY - 데이터를 특정 컬럼 기준으로 그룹화하는 데 사용된다. - USER_ID와 PRODUCT_ID 기준으로 데이터를 그룹화하고 있습니다.- 예를 들어, USER_ID가 1이고 PRODUCT_ID가 101인 모든 행이 하나의 그룹으로 묶입니다. ..

프로그래머스: [3차] 자동완성 - javascript(체이닝, 트리)

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/17685 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr문제 풀이  아무래도, 다른 블로그의 설명이 충분하지 않았다. 그래서 혼자 이해하려고 하는데 시간이 꽤 걸렸다. 그래서 기록으로 자세히 남겨보려 한다.  자, 이 문제는 두개의 과정으로 나뉜다. - 먼저 주어진 words를 활용해서 트리를 생성할 것이다. - 우리가 생성한 트리를 탐색하면서 각 문자가 몇 글자까지 입력해야 하는지 셀 것이다.  코드를 살펴보기 전에 먼저 이해부터 하자.  ##..

프로그래머스: 조건에 맞는 도서 리스트 출력하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/144853 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드 SELECT BOOK_ID, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOKWHERE DATE_FORMAT(PUBLISHED_DATE, '%Y') ='2021' AND CATEGORY = '인문'ORDER BY PUBLISHED_DATE ASC

프로그래머스: 12세 이하인 여자 환자 목록 출력하기 - MySQL

문제 출처 https://school.programmers.co.kr/learn/courses/30/lessons/132201 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답 코드 SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, 'NONE') AS TLNOFROM PATIENT WHERE AGE

반응형