
그리디 알고리즘은 국내에서는 일반적으로 탐욕법이라고 알려져있다. 즉, 단순무식하게 탐욕적으로 문제를 푸는 방법이다. 그리디 알고리즘의 핵심은 '현재 상황에서 당장 최선의 방법을 고르는것'을 의미한다. 나중은 고려하지 않는다는 의미이다. 가장 큰 장점으로는 다른 자료구조와 비교해서 사전에 사용하는 방법을 알지 못해도 사용할 수 있다는 것이다. 이것에 관한 문제에서 주로 가장 큰 순서, 혹은 작은 순서 등 정렬과 관련해서 문제가 나오는경우가 많다. 물론 모든 경우에 사용될 수 있는 알고리즘이 아니다. 예를들어 1분뒤에 500원, 2분뒤에 1000원을 받는 선택지 중에서 그리디 알고리즘으로 선택을 하면 1분뒤 500원을 받는 선택지를 선택하게 된다. 결과적으로는 2분뒤 1000원을 받는 선택이 더 이득이지만 ..
https://wikidocs.net/16041 list.index( value ) : 값을 이용하여 위치를 찾는 기능 list.append(a) : 리스트 맨뒤에 a를 추가 //a에 배열을 넣으면 이차원배열됨 list.extend( [value1, value2] ) : 리스트 뒤에 값을 추가 (‘+’연산자 보다 성능이 좋음) list.insert( index, value ) : 원하는 위치에 값을 추가 //index부분에 들어가게 list.reverse( ) : 값을 역순으로 정렬 //말그대로 진짜 역순 내림차순아님 list.remove(a) : 리스트안에 a가 있으면 다 지움 list.count(a) : list안에 요소가 몇개있는지 세서 리턴, 세고싶은요소를 ( ) 안에 넣음 list.sort( )..

문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지 않으면 true를 return 하도록 solution 함수를 작성해주세요. 제한사항 phone_book의 길이는 1 이상 1,000,000 이하입니다. 각 전화번호의 길이는 1 이상 20 이하입니다. public boolean solution(String[] ph..

문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 genres와 노래별 재생 횟수를 나타내는 정수 배열 plays가 주어질 때, 베스트 앨범에 들어갈 노래의 고유 번호를 순서대로 return 하도록 solution 함수를 완성하세요. 제한사항 genres[i]는 고유번호가 i인 노래의 장르입니다. plays[i]는 고유번호가 i인 노래가 재생된 횟수입니..

문제설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. clothes의 모든 원소는 문자열로 이루어져 있습니다. 모든 문자열의 길이는 1 이상 20 이하인 자..

문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 제한사항 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다. completion의 길이는 participant의 길이보다 1 작습니다. 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다. 참가자 중에는 동명이인이 있을 수 있습니다. 두가지 방법으로 해결을 하였다. 첫번째는 해시맵을 사용하지 않고 자바에서 지원하는 배열..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.StringTokenizer; //주소 : https://www.acmicpc.net/problem/10930 //문제 : 문자열 S가 주어졌을 때, SHA-256 해시값을 구하는 프로그램을 작성하시오. //입력 : 첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. public class bea..
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.util.StringTokenizer; //해싱 //https://www.acmicpc.net/problem/10927 //문제 : 문자열 S가 주어졌을 때, MD5 해시값을 구하는 프로그램을 작성하시오. //입력 : 첫째 줄에 문자열 S가 주어진다. S는 알파벳 대문자와 소문자, 그리고 숫자로만 이루어져 있으며, 길이는 최대 50이다. public class beakjoo..

자바에서 배열을 정렬할때의 로직을 직접 만들어서 모듈화 하기도 하지만 임시로 사용할때 쓰는함수가 Array.sort()이다. 사용하는 방법은 아래와 같다. import java.util.Arrays; import java.util.Comparator; public class ArraySortExample { public static void main(String[] args) { Integer[] arr1 = new Integer[] { 8,10,1111,85242 }; Arrays.sort(arr1); for(int a : arr1){ System.out.println(a); } } } 위와같이 사용하면 나오는 결과물은 아래와 같다 8부터 시작해서 오름차순으로 정렬한 것이다. 반대로 내림차순으로 정렬을..
Map m = new HashMap(); Hashtable ht = new Hashtable(); HashMap hm = new HashMap(); 선언은 위와같이함 해시맵 이외에 해시테이블과 맵또한 넣어놓음 기본적으로 hm.put(key(String)값, value(Integer)값); //위처럼 값을 집어넣고 hm.get(key값) //위처럼 key에 해당하는 value를얻어옴 유용한 함수로는 getOrDefault() hm.getOrDefault(key, Default-value); 위와같이 사용하는데 원하는 key에 해당하는 value가 존재하지 않을경우 default값을 return시킨다. 또다른 함수로는 putIfAbsent(); hm.putIfAbsent(key, value); key가 이미..
- Total
- Today
- Yesterday
- mysql
- Hummingbird
- node.js
- password
- WAS
- chatting
- Django
- 코틀린
- flame
- redis
- github
- 에러해결
- 플러터
- DART
- flutter
- 안드로이드
- 안드로이드스튜디오
- RecyclerView
- socket.io
- django server
- Tutorial
- CHANNELS
- Git
- springboot
- Kotlin
- 알고리즘
- Android
- Android Studio
- 에러
- 해결
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |