본문 바로가기

전체 글

(730)
[정렬] 10989 문제 풀이 https://www.acmicpc.net/problem/10989 10989번: 수 정렬하기 3 첫째 줄에 수의 개수 N(1 ≤ N ≤ 10,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 10,000보다 작거나 같은 자연수이다. www.acmicpc.net 해당 관련되서는, 퀵정렬을 사용해서 풀었다. 퀵정렬은 처음 값을 pivot으로 놓고, 재귀를 통해서 무한히, pivot보다 작으면 오른쪽 , 크면 왼쪽 배열로정렬하는 것이다. 그러면 그 안에서도 정렬이 필요하기 때문에, 재귀로 구현한다. 해당 안에서 정렬을 하고 왼쪽 pivot 오른쪽 으로 addAll을 통해, 배열을 합친다. 해당 방법으로 합치게 되면, 정렬 된 배열을 만들 수있다. (재귀로 한다면) 소스 참고
[정렬] 10825 - 국영수 해당, 관련되서는 간단하다. 모든 정렬에 대한 공식? 같은 것들이 있는데 그것중 하나는 특정 node나 class를 선언하고 comparable을 impl하고, 내부에서 compareTo를 오버라이드 하는 것이다. 해당 과 같이 구현하면, 단순히 이름,국,영,수를 받아서 비교 및 정렬을 할수 있다. compateTo를 구현하게 되면 sort를 했을때 특정 sort기준? 을 정할수있다.
[카운팅 정렬과 퀵정렬] 1. 카운팅 정렬 1. 숫자가 등장한 횟수 를 다른 한가지의 배열에 넣는다 2. 다른 한가지의 배열의 누적합으로 값을 update해준다. 3. 기존 숫자들이 있던 배열 마지막부터, 새로 생성한 배열을 보면서, 정렬 index를 찾는다 ex. 4가 5번 등장하면, arr[5] =4 이런식으로 (만약 중복되는 값이 있어, index에 값이 이미있다면, -1 을 해준다.) 이해가 잘되는 애니메이션 링크 https://www.cs.miami.edu/home/burt/learning/Csc517.091/workbook/countingsort.html Counting Sort This is an animation of the counting sort algorithm found in CLR's Algorithms ..
스프링 부트 vs 스프링 스프링 부트와 스프링의 차이 간단하게 추후 공부용으로 정리를 해보자 1. 불필요한 설정? 개발자가 설정할 부분이 줄어든다 Spring 은 xml 지옥과도 같은, web.xml 부터 servlet.xml applicationContext.xml 등과같은 필터, 리스터, 디펜던시 설정 팩토리설정 뷰 리졸버 설정 버전 설정을 다 일일히 해줘야한다. 하지만 spring boot는 버전관리도 스프링부트가 해주기 때문에 호환되는 라이브러리에 대한 종속성 버전 같은걸 개발자가 신경쓸 필요가 없다. starter 의존성 한줄로 많은걸 자동 설정해준다. 2. 내장형 톰캣을 사용한다. 스프링부트는 내장형 톰캣을 사용하고있어서 별도 톰캣설정을 하지않아도 바로 서버를 실행해서 코드를 짤수있다. 또한 환경설정 및 인프라적인 요..
[브루트 포스]백준 -1182 브루트 포스 부분 수열의 합 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net 문제는 생각 보다 심플하다. 재귀를 두가지 방식으로 넘겨주면된다. 다만 재귀를 넘길때, 몇번째의 row의 값을 넘기면서, value값을 같이 넘기고, 해당 값을 비교하여, answer을 추가해준다. 해당 재귀를 넘길때는 value를 지금 값과 합친값, 그리고 합치지 않은 값의 두가지 방식으로 넘긴다.
[브루트 포스] 백준 - 9663 https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 백트래킹을 이용해서 푼다. 브루트포스와 백트래킹의 차이는, 브루트포스는 처음부터, 하나씩 놓고 전부다 놓았을때 vailiation을 하지만, 백트래킹은, 놓을떄, 계산해서 놓는다. 즉, 이전의 결과로 유추가능한 상황을 미리 체크해서 놓을지 말지를 결정한다. 해당 방법은 비슷하지만 각각 두가지 구현방식중, 시간복잡도를 계산해서 선택을 하면 될 것같다.
[브루트 포스] 백준 - 2309 백준 2309번 reduce는, 인자를 두개, 앞에꺼는 이전까지의 연산 합, 그리고 두번째는 새로운 것
[브루트 포스] 백준 - 7568 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 해당 문제는 단순히, 2차원 배열에서, 값을 비교해서, 카운트를 추가해줄지만 선택해서 완성하면된다. 쉬운 문제라 별도 설명 없