일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 최소 힙 1927
- 백준 1197번 최소 스패닝 트리 - java
- Java
- ac 5430번
- 백준 1647번 도시 분할 계획 - java
- 백준 14938번 서강그라운드
- 백준 1806번 부분합 java
- HashSet
- StringBuilder
- 백준 3190번
- 18111번 마인크래프트 - java 구현
- StringTokenizer
- 백준 2467번 용액 자바 - 이분탐색
- mysql hy000 에러
- 백준 1541
- hash
- 프로그래머스 자바
- 프로그래머스 java
- kotlin
- dp
- 백준 1043번 거짓말 - java 분리 집합
- replace()
- 코틀린기초
- append
- 백준 2473번 세 용액 - java
- toUpperCase
- Stack
- map
- HashMap
- 프로그래머스
- Today
- Total
목록전체 글 (177)
말하는 컴공감자의 텃밭
JadenCase 구현 문제다. toUpperCase와 toLowerCase 두개 메인으로 사용한다 치고 예외처리를 생각해봤다. 먼저 첫 문자가 알파벳이 아닐때는 그대로 소문자로 두는 경우 고려해야하고. 공백을 고려하면 된다. HTML 삽입 미리보기할 수 없는 소스 간단쓰
처음에 문제를 대충읽고, 너무 단순하네 했다가 재료를 사용하면 그 쪽은 공백으로 처리를 해야해서 Stack을 떠올렸다. 햄버거도 스택처럼 쌓아야하니까 스택 자료구조에서는 push pop get 등을 사용했다 . 간단한 예제는 아래와 같습니당 HTML 삽입 미리보기할 수 없는 소스 완성된 코드 HTML 삽입 미리보기할 수 없는 소스
문제를 보고 이게 입문..인가? 싶었다. 그래도 입문이니까 하나하나 경우의 수 넣고 해보자~ 했다. HTML 삽입 미리보기할 수 없는 소스 당연히 런타임 오류가 발생했다. 풀리긴 하겠다만 좋은 방식은 아니라고 생각했었다. 가독성도 떨어지고 배열을 복사하고 확인하는 절차는 너무 복잡하고 귀찮았다. 차라리 주변 범위를 배열에 넣어두고 조건을 두어서 체크해보는건 어떨까 했다. HTML 삽입 미리보기할 수 없는 소스
문제 이해가 조금 걸렸다. 먼저 2차원 배열 data가 주어지고, col이 주어지는데. col번째 값으로 배열을 정렬해주고, i번째 튜플에 대해 각 컬럼의 값을 i로 나눈 나머지의 합을 S_i에 넣어준다. 이후 begin과 end까지 모든 S_i를 누적해서 XOR값을 해시값으로 반환. 어려웠다. 처음보는 유형이기도 했고, col 기준으로 2차원 배열 정렬과 XOR도 어떻게 해야하지 싶었다. 먼저 정렬은 Comparator 인터페이스로 정렬기준을 추가해야한다. 그 중 람다식을 사용해서 간결하게 구현한 예시를 통해 예제를 작성해 보았다. HTML 삽입 미리보기할 수 없는 소스 먼저 기본적인 틀을 보자. 이차원 배열중 첫번째를 비교하고 싶다면 배열의 첫번째 [0]로 비교한다. 두번째면 [1]이겠다. 오른차순을..
일단 문제를 읽어보면 점수가 담긴 배열과, 명예의 전당 k가 주어진다. k는 금 은 동메달처럼 점수가 높은 사람들의 숫자이다. result에는 그 중 최솟값을 넣어서 일차별로 출력하면 되는 문제이다. 간단하게 느껴서 작성했다. HTML 삽입 미리보기할 수 없는 소스 이게 웬걸.. 포문에 정렬까지 들어가니 런타임에러가 불가피했다. Arrays.sort()는 내부적으로 DualPivotQuicksort.sort()를 호출해서 사용하므로 퀵 정렬을 따라간다. 퀵 정렬의 시간 복잡도는 최선의 경우에는 O(nlogn), 최악의 경우에는 O(n^2)이다. 어떻게 하면 런타임 에러를 피할까 고민했는데, 방법을 못 찾았고 다른 알고리즘을 찾아보게 되었다. HTML 삽입 미리보기할 수 없는 소스 리스트 정렬에 사용되는 ..
함정이 있던 문제라 초기 입출력은 금방 맞았는데 테스트 케이스 5, 12, 24 등이 걸려서 20분은 잡아먹은거 같다. 문제을 읽으면 학생 수가 주어지고 체육복을 잃어버린 사람 배열과, 여분이 있는 사람의 배열이 주어진다. 체육복은 사이즈 이슈로 본인 또는 앞뒤 체격에게만 빌려줄 수 있고, 최대한 많은 인원이 체육수업을 할 수 있게 여분의 체육복을 나눠주어야 한다. 또한 여분이 있는 사람도 도둑 맞을 수 있는데, 이 경우 본인은 여분의 체육복을 입기 때문에 빌려주지 않는다. HTML 삽입 미리보기할 수 없는 소스 이제 1400점이네오. 하루 한두개만 푸니까 진도가 안나가는 느낌.. 179문제중입니다.
덧칠하자 덧칠하자 직찍찍.. 영역이 주어지고, 색칠이 덜된 section[]과 롤러의 크기가 주어집니다. 비어진 곳을 롤러로 칠하는 방법 중 최소의 방법을 구하는 알고리즘 문제입니당둥둥다라둥둥 먼저 배열을 구현하려했고, Arrays.fill 메서드를 통해 1을 먼저 넣어주었습니다. 빈곳은 0 값을 넣어 확인하기로 했습니다. 빈곳을 발견하면, 그 이후 단계는 모두 롤러 범위기에 cnt값을 올려 cnt가 롤러 크기값과 같다면 1번 칠하는걸로 작성했습니다. 또한 롤러 크기만큼 영역이 남지 않았어도 칠해야 하기때문에 마지막 부분에 cnt가 0보다 크다면 횟수를 1번 증가시켜 주었습니다. HTML 삽입 미리보기할 수 없는 소스
주사위의 같은 숫자의 개수에 따라서 점수가 달라진다. 네 주사위에서 나온 숫자가 모두 p로 같다면 1111 × p점을 얻습니다. 세 주사위에서 나온 숫자가 p로 같고 나머지 다른 주사위에서 나온 숫자가 q(p ≠ q)라면 (10 × p + q)2 점을 얻습니다. 주사위가 두 개씩 같은 값이 나오고, 나온 숫자를 각각 p, q(p ≠ q)라고 한다면 (p + q) × |p - q|점을 얻습니다. 어느 두 주사위에서 나온 숫자가 p로 같고 나머지 두 주사위에서 나온 숫자가 각각 p와 다른 q, r(q ≠ r)이라면 q × r점을 얻습니다. 네 주사위에 적힌 숫자가 모두 다르다면 나온 숫자 중 가장 작은 숫자 만큼의 점수를 얻습니다. 세 주사위의 경우 제곱이 있어서 Math.pow()를 사용했다. 예시코드 H..