일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- ojdbc6
- Spring
- SQL
- db
- tecoble
- datagrip 한글깨짐
- REST
- Aspect
- InteliJ
- JavaScript
- 프로젝트 여러 개
- javascript error
- 인텔리제이
- DART
- eqauls-hashcode
- @RequestBody
- Java
- Stream
- flutter mac 설치
- Mac
- 봤어요처리
- oracle
- maven
- svn
- MySQL
- class-transformer
- node.js
- TypeScript
- 프로그래머스
- 코어자바스크립트
- Today
- Total
목록Dev/Algorithm (8)
개발자가 되고 싶은 개발자
Preface가독성이 떨어지지만, 사고력 측면에서 생각하지 못한 방식이어서 기록합니다.문제n,m이 number의 공배수이면 1 아니면 0을 return.풀이둘 다 공배수일 경우나머지가 둘 다 0 이기 때문에 ( 0 | | 0 ) 연산은 false가 됩니다.괄호 바깥 부분의 부정연산자(!)로 인해 true가 됩니다.+ 연산자로 인해 논리연산자 true가 숫자형으로 변환되어 1로 반환됩니다.둘 다 공배수가 아닐 경우각 나머지 연산에서 나머지가 존재하면 0이 아니게 되므로 값이 1 이상이 되어 true가 됩니다.괄호 바깥 부분의 부정연산자(!)로 인해 false가 됩니다.+ 연산자로 인해 논리연산자 false가 숫자형으로 변환되어 0으로 반환됩니다. function getCommonMultiple(number..
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr *본문에서 테이블에 대한 정보는 생략하도록 하겠습니다. *MySQL로 작성하였습니다. 조건 자동차 종류가 '세단' 또는 'SUV' 인 자동차 중 2022년 11월 1일부터 2022년 11월 30일까지 대여 가능하고 30일간의 대여 금액이 50만원 이상 200만원 미만인 자동차에 대해서 자동차 ID, 자동차 종류, 대여 금액(컬럼명: FEE) 리스트를 출력하는 SQL문을 작성해주세요. 결과는 대여 금액을 기준으로 내림차순 정렬하고, 대여 금액이 같은 경우 자동차 종류를 기준으로 오름차순 정렬, 자동차 종류까지 ..
[분할정복 알고리즘] - 이진 탐색 - 합병 정렬 - 퀵 정렬 - 선택 정렬 [동적 프로그래밍 알고리즘] - 피보나치 수열 문제 - 연쇄 행렬 곱셈 문제 - 스트링 편집 거리 문제 - 모든 정점 간의 최단 경로 - 저울 문제 [탐욕법(욕심쟁이 알고리즘)] - 동전 거스름돈 문제 - 배낭문제 - 최소 신장 트리 - 최단 경로 - 작업 스케줄링 문제 - 작업 선택 문제 - 허프만 코딩 * 탐욕법을 적용해 최소 신장 트리를 구하는 알고리즘 - 프림 알고리즘 - 크루스칼 알고리즘 [정렬 알고리즘] - 버블, 선택, 삽입, 셸, 합병, 퀵, 힙 - 비교 기반 정렬의 하한 - 계수 정렬 - 기수 정렬 [탐색 알고리즘] - 순차, 이진 - 탐색 트리 - 해싱 [근사 알고리즘] - 클래스 P와 클래스 NP - NP-완..
코딩테스트 연습 - 124 나라의 숫자 programmers.co.kr 10진법 124나라 10진법 124나라 1 1 6 14 2 2 7 21 3 4 8 22 4 11 9 24 5 12 10 41 500,000,000 이하의 자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return해주는 함수를 작성하는 문제입니다. 효율성 테스트 실패 코드 public String failSolution(int n) { String answer = ""; int rest = 0; while(n > 0) { rest = n % 3; n /= 3; if(rest == 0) { rest = 4; n -= 1; } answer = rest + answer; } return answer; }..
유클리드 알고리즘에 대해 알아보고, 관련 문제를 해당 알고리즘으로 풀어보도록 하겠습니다. 유클리드 알고리즘, 유클리드 호제법(互除法)이란? 유클리드 호제법(-互除法, Euclidean algorithm) 또는 유클리드 알고리즘은 2개의 자연수 또는 정식의 최대공약수를 구하는 알고리즘의 하나이다. 호제법에 대한 설명은 다음과 같습니다. 두 수가 서로 상대방을 나누어서 결국 원하는 수를 얻는 알고리즘을 나타낸다. 호제법이라는 말은 서로(互) 나누기(除) 때문에 붙여진 이름이다. 이 뜻의 '호제' 라는 단어가 따로 있지는 않다. 다시, 유클리드 호제법 2개의 자연수(또는 정식) a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질..
한빛미디어의 이것이 취업을 위한 코딩테스트다 with 파이썬을 요약 정리했습니다. 그리디 알고리즘이란 - 탐욕 알고리즘, 탐욕법 - 여기서 탐욕적이라는 말은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 그리디 알고리즘의 특징 - 매 순간 가장 좋아보이는 것을 선택 - 현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않음 - 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형 예제문제- 거스름돈 거스름돈으로 사용할 500, 100, 50, 10원짜리 동전히 무한히 존재한다고 가정. 거슬러 줘야 할 돈이 N원일 때 거슬러 줘야 할 동전의 최소 개수를 구하라. (단, 거슬러 줘야 할 돈 N은 항상 10의 배수이다.) 소스코드 - 예제 소스 3-1.py를 자바로 작성하였음 Git..
문제 코딩테스트 연습 - 신규 아이디 추천 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. "네오"에게 주어진 첫 업무는 새로 programmers.co.kr 목표 - 아이디 규칙에 맞지 않는 아이디를 입력했을 때, 입력된 아이디와 유사하면서 규칙에 맞는 아이디를 추천 규칙 - 아이디의 길이는 3자 이상 15자 이하여야 합니다. - 아이디는 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.) 문자만 사용할 수 있습니다. - 단, 마침표(.)는 처음과 끝에 사용할 수 없으며 또한 연속으로 사용할 수 없습니다. 조건 - 네오가 설계한 7단계의 순차적인 처리 과정을 거쳐야 함 - 1단계 new_id의 ..
문제 코딩테스트 연습 - 로또의 최고 순위와 최저 순위 로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호 programmers.co.kr 코드 class Solution { public int[] solution(int[] lottos, int[] win_nums) { int zeroCnt = 0; int chkMatched = 0; for(int i : lottos) { if (i == 0) zeroCnt ++; else { for ( int j : win_nums) { if(i == j) { chkMatched++; break; } } } }..