본문 바로가기
반응형

분류 전체보기337

[프로그래머스] 가장 큰 수 (람다와 Stream 활용) 가장 큰 수(java) 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbersreturn [6.. 2021. 10. 27.
세그먼트 트리 개념과 구현 세그먼트 트리 = Segment Tree = Statisitc Tree 간격이 있는 숫자나 세그먼트에 대한 데이터를 저장하는데 사용하는 트리 구조 여러 데이터가 연속적으로 존재할 때, 특정 범위의 데이터 합을 구할 때 유용하다. 배열에 데이터가 아래와 같이 있다고 가정해보자. index 0 1 2 3 4 5 6 7 8 value 5 6 2 3 4 3 5 2 1 위 배열에서 인덱스 1부터 5까지의 합을 구하려면? index 0 1 2 3 4 5 6 7 8 value 5 6 2 3 4 3 5 2 1 위 범위의 데이터를 하나씩 더하는 방식을 사용하면 된다. (=선형적) 데이터가 N개면 시간복잡도가 O(N)이 된다. 이를 개선하기 위해서 세그먼트 트리를 이용한다면 시간복잡도를 줄일 수 있다. 위의 배열을 아래와.. 2021. 10. 22.
Comparator와 Comparable 정리 백준 11650번을 풀다가 Comparator를 사용한 김에 개념 정리를 하려고 한다. 정말 간단한 문제니까 Comparator 재정의하는 연습용으로 괜찮은듯 ㅎ.ㅎ 🔻 문제 및 풀이 더보기 https://www.acmicpc.net/problem/11650 11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 문제 2차원 평면 위의 점 N개가 주어진다. 좌표를 x좌표가 증가하는 순으로, x좌표가 같으면 y좌표가 증가하는 순서로 정렬한 다음 출력하는 프로그램을 작.. 2021. 10. 21.
[Thymeleaf] 타임리프란? (+기본적인 사용법) 간단한 CRUD를 구현하다가 org.thymeleaf.exceptions.TemplateProcessingException 에러를 너무 많이 겪어서 타임리프에 대해 잠깐 공부하기로 했다. (위 에러는 타임리프 문법을 잘못 쓰는 등의 이유로 특정 url을 찾지 못하거나 파싱 에러가 나는 경우에 자주 나는 에러이다.) Thymeleaf란? '템플릿 엔진'의 일종. html 태그에 속성을 추가해 페이지에 동적으로 값을 추가하거나 처리할 수 있다. 타임리프를 통해 속성을 대체할 수 있는데, 아래 예제를 살펴보자. input 태그는 th:value를 통해 item이라는 변수에 값이 존재하면 해당 값을 세팅해준다. 만약 item이 존재하지 않으면 value="test"를 통해 "test"라는 문자열을 세팅해준다. .. 2021. 10. 15.
[프로그래머스] 10주차 위클리 https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 10주차 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 문제 Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의.. 2021. 10. 13.
[Spring] HTTP 메시지 컨버터 HTTP 메시지 컨버터란? JSON 데이터를 HTTP 메시지 바디에서 직접 읽거나 쓰는 경우, HTTP 메시지 컨버터를 사용하면 매우 편리하다! HTTP 메시지 컨버터란, 요청 본문에서 메시지를 읽어들이거나(@RequestBody), 응답 본문에 메시지를 작성할 때(@ResponseBody) 사용하는 컨버터다. 🔻 포스팅을 보기 전, @ResponseBody를 다시 살펴보자. 더보기 웹 브라우저가 "localhost:8080/hello-api" 접근 서버를 거쳐 helloController 호출 helloController의 @ResponseBody를 통해 HttpMessageConverter가 호출 return 타입에 따라 JsonConverter 또는 StringConverter를 이용해 return.. 2021. 10. 10.
브라우저의 동작 원리 목차 1. Web browser 2. Render Engine 3. Parsing 3-1. Parsing-general 3-2. HTML Parser 3-3. CSS parsing 4. Render tree construction 5. Layout 6. Painting 7. Dynamic changes 1. Web Browser 웹 브라우저는 크롬, 익스플로러, 파이어폭스, 사파리, 오페라 등이 있다. 누구든지 인터넷만 있다면 언제 어디서나 이용할 수 있게 해준다. 내 데스크 톱이나 모바일 기기 등에 다른 웹으로부터 가져온 정보를 보여준다. HyperText Transfer Protocol (텍스트, 이미지, 비디오 등이 웹에서 어떤 방식으로 전송될지를 결정) 를 이용해 전송되는 이 정보는 전세계 어디서.. 2021. 10. 7.
[프로그래머스] 2개 이하로 다른 비트 https://programmers.co.kr/learn/courses/30/lessons/77885# 코딩테스트 연습 - 2개 이하로 다른 비트 programmers.co.kr 문제 설명 양의 정수 x에 대한 함수 f(x)를 다음과 같이 정의합니다. x보다 크고 x와 비트가 1~2개 다른 수들 중에서 제일 작은 수 예를 들어, f(2) = 3 입니다. 다음 표와 같이 2보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 3이기 때문입니다. 수 비트 다른 비트 개수 2 000...0010 3 000...0011 1 f(7) = 11 입니다. 다음 표와 같이 7보다 큰 수들 중에서 비트가 다른 지점이 2개 이하이면서 제일 작은 수가 11이기 때문입니다. 수 비트 다른 비트 개수 7 0.. 2021. 10. 7.
[백준] 1152번: 단어의 개수 처음 풀이 (결과: 실패) public class Main { public static BufferedReader bf = new BufferedReader(new InputStreamReader(System.in)); public static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); public static void main(String[] args) throws IOException { bw.write(bf.readLine().trim().split(" ").length+"\n"); bf.close(); bw.close(); } } 굉장히 쉬운 문제라고 생각했고 테스트케이스를 모두 통과하는데 왜 실패라고 뜨.. 2021. 10. 6.
반응형