일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- space complexity
- Java
- 보간 탐색
- 약수의 총 합
- interpolation search
- 연결리스트
- 양방향 연결 리스트
- 프로그래머스
- 탐욕법
- level2
- java 정규표현식
- 큐
- 순차 리스트
- 단체사진 찍기
- android
- 맨하탄 거리
- LinkedList
- 빅-오
- visited
- 알고리즘 성능분석
- 자료구조
- list
- 유클리드 거리
- 순열
- 정렬
- 스택
- 유클리디안 거리
- 수식트리
- 알고리즘
- 그리디
- Today
- Total
목록전체 글 (42)
개발자로 살아남기

프로그래머스 Level 2의 전화번호 목록을 풀었다. Hash를 이용하라는데, 아무리봐도 안될 것 같아 그냥 이중 for문으로 작성했다. import java.util.*; class Solution { public boolean solution(String[] phone_book) { Arrays.sort(phone_book); for(int i=0; i

이 문제를 푸는데 시간이 좀 걸렸다. 문제는 위와 같은데 단순히 10진수를 124 나라에서 사용하는 숫자로 바꾸는 문제이다. 1,2,4 세 개만 사용한다 했으니 10진수를 3진법으로 변환해봤다. 10진법 3진법 10진법 3진법 1 1 11 102 2 2 12 110 3 10 13 111 4 11 14 112 5 12 15 120 6 20 16 121 7 21 17 122 8 22 18 200 9 100 19 201 10 101 20 202 그리고 3진법과 124나라의 숫자를 비교해봤다. 3진법 124나라 3진법 124나라 1 1 102 42 2 2 110 44 10 4 111 111 11 11 112 112 12 12 120 114 20 14 121 121 21 21 122 122 22 22 200 12..

h2 database는 매우 작고 빠른 데이터베이스이다. 파일이나 서버형식부터 메모리 형식으로 데이터를 저장할 수 있으며 데이터베이스의 크기도 매우 작아서 간단히 테스트를 진행할 때 사용하기 편리하다. h2 database 홈페이지는 아래 링크를 통해 방문할 수 있다. https://www.h2database.com/html/main.html 홈페이지를 방문하면 Windows 인스톨 버전과 모든 OS에서 사용가능한 java 파일이 존재한다. 맥 환경이라 All Platforms를 클릭하여 설치했다. 윈도우에서도 인스톨러를 설치하거나 All Platforms를 사용할 수 있다. All Platforms를 클릭하여 압축해제하고 들어가서 bin 폴더를 보면 h2.sh 파일이 존재한다. (윈도우는 h2.bat)..

해당 문제를 푸는데 좀 많은 시간이 소요되었다. 먼저 문제를 살펴보면 아래와 같다. 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 따라 1cm × 1cm의 정사각형으로 잘라 사용할 예정이었는데, 누군가가 이 종이를 대각선 꼭지점 2개를 잇는 방향으로 잘라 놓았습니다. 그러므로 현재 직사각형 종이는 크기가 같은 직각삼각형 2개로 나누어진 상태입니다. 새로운 종이를 구할 수 없는 상태이기 때문에, 이 종이에서 원래 종이의 가로, 세로 방향과 평행하게 1cm × 1cm로 잘라 사용할 수 있는 만큼만 사용하기로 하였습니다. 가로의 길이 W와 세로의 길이..

[Level 2] 단체사진 찍기 (Java) 프로그래머스의 Level2 문제인 단체사진 찍기를 풀었다. 나같은 경우 해당 문제를 아래와 같이 풀었었다. 알파벳 8자리에서 나올 수 있는 모든 경우의 수를 모두 구한다. (8! = 40320) 구한 경우의 수들을 조건에 맞는지 확인 후 조건에 만족할 경우 +1 해준다. import java.util.*; public class 단체사진_찍기 { public static void main(String[] args) { int n = 0; // String[] data = { // "N~F=0", // "R~T>2" // }; String[] data = { "M~C1" }; System.out.println(solution(n, data)); } static ..
# Programmers 알고리즘 문제풀이 # LEVEL 1 신규아이디추천 (21. 07. 13) https://github.com/banjjak2/Programmers/blob/main/Level1/%EC%8B%A0%EA%B7%9C%EC%95%84%EC%9D%B4%EB%94%94%EC%B6%94%EC%B2%9C.java - 정규표현식 이용해서 각 스텝별로 구현 (https://banjjak1.tistory.com/8) ------------------------------------------------------------------------------------------ 키패드누르기 (21. 07. 18) https://github.com/banjjak2/Programmers/blob/main/..

최대공약수, 최소공배수 구하기 공약수 : 두 개 이상의 자연수(양의 정수) 중에서 공통된 약수 최대공약수 : 공약수 중 제일 큰 약수 서로소 : 공약수가 1뿐인 2개 이상의 자연수 최대공약수 - 소인수분해로 구하기 (서로소가 나올 때까지 소수로 계속 나눔) - 출처 : https://mathbang.net/202 - 최대공약수는 6x2 = 12 공배수 : 2개 이상의 자연수 중에서 공통된 배수 최소공배수 : 공배수 중 제일 작은 공배수 최소공배수 - 위 사진에서 최소공배수는 6x2x5x4 = 240 이다. 소인수분해를 이용한 최대공약수, 최소공배수 구하기 // 소인수분해를 이용한 풀이 // 결과값 = 공약수들 + 서로소들 public static int[] factorization(int n, int m..