일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 프로그래머스 java
- ac 5430번
- map
- hash
- StringBuilder
- 프로그래머스
- Stack
- 프로그래머스 자바
- replace()
- dp
- 백준 2467번 용액 자바 - 이분탐색
- 백준 1541
- 백준 1197번 최소 스패닝 트리 - java
- mysql hy000 에러
- StringTokenizer
- 백준 1806번 부분합 java
- Java
- append
- HashSet
- kotlin
- toUpperCase
- 백준 1647번 도시 분할 계획 - java
- 18111번 마인크래프트 - java 구현
- HashMap
- 백준 14938번 서강그라운드
- 백준 1043번 거짓말 - java 분리 집합
- 최소 힙 1927
- 코틀린기초
- 백준 3190번
- 백준 2473번 세 용액 - java
- Today
- Total
목록알고리즘 (138)
말하는 컴공감자의 텃밭
a병만큼 빈병을 가져가면 b만큼 콜라를 줍니다. 아주 혜자네 단순 계산 문제죵. 고려할것도 없네요 바로 코드로 가봅시다 HTML 삽입 미리보기할 수 없는 소스
문제는 N이 만약 연속된 수로 나타내지는 값을 출력하는 문제였다. 아이 쉬워 HTML 삽입 미리보기할 수 없는 소스 처음엔 종이에다 슥슥 규칙을 찾아봤다. 그러다 생각해보니 연속적인 수가 홀수면, 예를들어 12는 3,4,5 로 나타낼 수 있는데 "이건 4 * 3이 잖아. 약수네~~!" 이래버렸다. 그래서 반 쪼개고 원래 n포함 시키고, 홀수라면 2개 연달아서 표현이 가능하니까 ex) 13 -> 6,7 // 12 -> 2개 연달아 X answer 초기값을 홀수 짝수로 구분해서 작성했었다. 게임하면서 풀어서 그런가 넘무 단순하게 생각했고~ 이후 종이에 끄적이면서 규칙을 찾아봤다. 여전히 약수 느낌이 나다가 7까지 합인 28을 보니 공식이 보였다. 연속적인 수는 결국, 가운데 수 * 양쪽으로 펼쳐진 친구들의 ..
문제를 처음봤을때 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]이겠다. 오른차순을..