삽입정렬이란 삽입하여 정렬하는 것이다. 입력 : n개의 숫자 출력 : n개의 숫자가 점점 커지는 순서로 정렬 , 가장 큰 숫자가 가장 오른쪽으로 간다. ( 오름차순 ) 무엇을 삽입할 것인가? Key 값과 정렬된 리스트가 주어졌을 때, Key 값을 정렬된 리스트의 알맞은 위치에 삽입 Key가 3이고 정렬된 배열이 일 때 1과 2 사이에 3을 넣음으로써 으로 정렬함. 정렬을 시작할 때 처음 값 한개는 미리 넣어둔다. 두번째 숫자부터는 Key 값으로 생각을 하고 삽입한다. 즉 일 때 이렇게 들어간다고 생각하면 된다. 과정은 만약 삽입할 key가 가장크면 맨뒤에 남고, 아니면 그 앞자리와 자리를 바꿈. 이걸 앞자리보다 key가 클때까지 반복하면 자기자리에서 멈추게 된다. 수행시간을 분석해보면, 몇번 째 자리가 ..
백준알고리즘의 인기문제 2위에 랭크되어있는 5543번 상근날드입니다. 풀이는 간단합니다. 5개의 입력을 받고, 앞 3개의 입력을 햄버거로 가정 뒤 2개의 입력을 음료수로 가정합니다. 앞 3개의 입력중 최소값을 구하고 뒤 2개의 입력중 최소값을 구합니다. 그 두개의 최소값을 더한 후 -50을 해줍니다. 그 값을 출력해주면 정답입니다. if 를 이용하여 풀이하였습니다. https://www.acmicpc.net/problem/5543 5543번: 상근날드 문제 상근날드에서 가장 잘 팔리는 메뉴는 세트 메뉴이다. 주문할 때, 자신이 원하는 햄버거와 음료를 하나씩 골라, 세트로 구매하면, 가격의 합계에서 50원을 뺀 가격이 세트 메뉴의 가격이 된다. 햄버거는 총 3종류 상덕버거, 중덕버거, 하덕버거가 있고, 음..
정렬 문제 ( 오름차순 내림차순 ) 입력 - n개의 숫자들의 배열이다. 출력 - 입력된 숫자의 배열이 크기순을 조건으로 만족하도록 나열한 결과 선택정렬 알고리즘 선택정렬은 무엇인가? - 선택해서 정렬하는 알고리즘이다. 선택을 할때 무엇을 선택하는지가 중요한 핵심이 된다. 1. 최소값 선택 정렬 (결과 : 오름차순) 2. 최대값 선택 정렬 (결과 : 내림차순) 최소값 선택 정렬의 알고리즘 1. 정렬되지 않는 숫자 중 가장 작은 숫자 선택 ( 최소값 ) 2. 선택한 숫자를 정렬되지 않은 숫자들 중 첫 번째 숫자와 자리를 바꾸면 최소값이 가장 앞으로감 3. 첫번째를 제외하고 그 뒤에서부터 정렬되지 않은 숫자들 중 가장 작은 숫자 선택, 가장 앞 +1 로 보냄 4. 반복 ex) 5 , 4 , 2 , 1, 3 첫..
컴퓨터 알고리즘이란? 문제를 해결하는 방법을 의미한다. 컴퓨터 알고리즘을 배우는 이유는 그 문제를 효율적으로, 단계적으로 해결하기 위한 방법을 익히기 위해서이다. 컴퓨터 알고리즘과 혼동하는것이 컴퓨터 언어와 컴퓨터 프로그램인데 컴퓨터 언어 - 컴퓨터와 대화하기 위한 언어 - 그 자체이다. (EX. C, C++, JAVA, Pthyon 등) 컴퓨터 알고리즘 - 컴퓨터를 이용해서 문제를 푸는 절차 (ex. 정렬, 해시, 최단거리 등 ) 컴퓨터 프로그램 - 특정 작업을 위한 수행을 하는 것을 의미한다. 컴퓨터를 이용해서 문제해결을 원한다면 어떻게 해야할까? 우선 컴퓨터에게 할 일을 알려줘야한다. 그리고 컴퓨터가 할 수 있는 일이어야한다. 이러한 것을 분석하는 컴퓨터 알고리즘 분석 4단계가 있다. 1. 문제 정..
리눅스에서 파이썬을 설치하여 cryto를 사용하려면 python2 버전같은경우는 그냥 검색해서 나오는대로 하면 잘 된다. 하지만 python3 는 다른방법으로 설치하여야 하는데, 두개의 블로그를 참고하고 방법을 찾아내었다. 일반적으로 python2 는 pip install pycrypto 명령어를 통해 cryto 모듈을 설치할 수 있다. 하지만 python3 는 pip3 를 사용하여야 python3에 맞는 버전이 설치된다. 또한 cryto 모듈의 설치 명령어도 pycryptodome 으로 바뀌었다. ------------------------------------------------------------ cryptodome 설명서 : http://pycryptodome.readthedocs.io/en/..
if(videoInfoArrayList.get(position).url.contains("youtube")) String 문자열 = "www.youtube.com/1234" String 문자열 2 = "youtube" if(문자열.contains(문자열2)) //문자열이 포함 된 경우 true 반환 else //문자열이 포함되어 있지 않은경우 false 반환 그 외 유용한 패턴 , // matches를 이용하여 정규 표현식으로 문자열에 숫자가 있는지 확인 if(txt3.matches(".*[0-9].*")) System.out.println("숫자 있음!"); else System.out.println("숫자 없음!"); 출처: https://fruitdev.tistory.com/72 [과일가게 개발자]..