일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- StringTokenizer
- 18111번 마인크래프트 - java 구현
- ac 5430번
- 백준 2473번 세 용액 - java
- HashSet
- hash
- 백준 1806번 부분합 java
- kotlin
- dp
- 코틀린기초
- mysql hy000 에러
- 백준 1541
- replace()
- 백준 1197번 최소 스패닝 트리 - java
- Stack
- HashMap
- 프로그래머스
- toUpperCase
- map
- 백준 1647번 도시 분할 계획 - java
- append
- 백준 3190번
- 최소 힙 1927
- 백준 2467번 용액 자바 - 이분탐색
- 프로그래머스 자바
- 백준 14938번 서강그라운드
- StringBuilder
- 백준 1043번 거짓말 - java 분리 집합
- Java
- 프로그래머스 java
- Today
- Total
목록분류 전체보기 (177)
말하는 컴공감자의 텃밭
문제를 처음봤을때 level2라 어떤 알고리즘으로 구성할까 싶었다. 규칙을 찾아서 해볼까~ 아니면 가로 세로만 구하면되니까 간단한 방법이 있으려나? 두가지였다. 가로 > 세로 규칙을 고려하고, 세로나 가로가 3보다 작으면 Yellow는 존재하지 않는다를 곱씹어주었다. 이후 처음 생각한것은 세로 길이에 따른 분류였다. 먼저 세로폭이 1이라면, 갈색은 노랑 * 2 + 2 + 4였다. 세로폭이 증가하면 갈색은 세로 * 2 + 가로 * 2 + 4 이다. 1*4 와 2*2, 6*2 와 3*4 는 노랑의 수가 각각 같지만 갈색의 수는 달라진다. 결국엔 총합에서 약수로 나누어 yellow와 동일하면 그놈이다 싶어 풀게 되었다. 중간에 바보짓해서 1시간은 잡아먹은거 같다.. 이왕할거면 각잡고 했어야했는데 HTML 삽입..
HTML 삽입 미리보기할 수 없는 소스 ssafy 대비용으로 expert도 이제야 풀어보고있다. 다만 프로그래머스에 익숙해져서 입/출력을 배제하고 풀다보니 어색해서 정리하려한다. 첫번째 줄에 Test_case 수가 주어진다. 이후 매매 가능한 날짜가 주어지고, 각 날짜별 매매가가 주어진다. 하루에 1개만 구매할 수 있고, 최대 수익을 낼 알고리즘을 작성하면 된다. 결국 판매가보다 싸게사서, 비싼 판매값에 팔면 되는 문제이다. 문제는 간단한데 입출력이 오랜만이라 헷갈렸다.. 호호,, 사이트가 처음이기도 하고.. HTML 삽입 미리보기할 수 없는 소스 SW expert는 백준허브가 안먹혀서 불-편.. 나중에 더 확인해봐야겠다.
이진 탐색을 이용할까 하다가 그냥 while 돌리면 되겠는데..? 싶었다. N의 크기는 중요하지않고, A와 B가 +1/2 되어 둘이 만나는 지점이 끝이니까 while에 조건을 주었다. a와 b가 같다면 마지막 연산까지 마친 후 이므로 while( A != B) HTML 삽입 미리보기할 수 없는 소스 이왜진.. 이진탐색이나 다른 방법으로 푸신분이 있나 찾아봤는데 다들 이런방식으로 푸신듯 하다.
스택의 기본인 괄호검사이고, '( )' 만 다루기에 문제가 간단해서 금방 푼 문제였다. 다만 효율성에서 걸려서 해결이 안됐었다. HTML 삽입 미리보기할 수 없는 소스 기존 코드이다. 아쉽게도 효율성에서 떨어져서 더 고민하게 되었다. 스택을 사용하지 않고, if문을 줄여보자 라고 생각했고 Count + -로 괄호의 갯수를 맞추고, 빼는 타이밍에는 +가 있는상태인지 확인하고 빼는 방식을 고려하게 되었다. 그렇지 않으면 '( ) ) ( ( )' 와 같은 상황에서도 + - 가 일치해서 0이면 올바르다고 나올테니깡 물론 [ { ( ) } ] 모두 등장하는 문제면 스택이 편할듯 싶다. 필요없는 answer 변수도 제거했다. HTML 삽입 미리보기할 수 없는 소스
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문제중입니다.