일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 2473번 세 용액 - java
- mysql hy000 에러
- StringBuilder
- 코틀린기초
- 백준 1806번 부분합 java
- 백준 2467번 용액 자바 - 이분탐색
- 백준 1197번 최소 스패닝 트리 - java
- 최소 힙 1927
- replace()
- 백준 1043번 거짓말 - java 분리 집합
- Java
- 백준 1541
- 프로그래머스 java
- 18111번 마인크래프트 - java 구현
- hash
- Stack
- ac 5430번
- dp
- append
- 백준 1647번 도시 분할 계획 - java
- HashMap
- toUpperCase
- map
- kotlin
- HashSet
- 프로그래머스
- 백준 3190번
- 프로그래머스 자바
- StringTokenizer
- 백준 14938번 서강그라운드
- Today
- Total
목록전체 글 (177)
말하는 컴공감자의 텃밭
아 집중 좀 하고 풀껄 후딱 풀거같아서 설렁설렁 확인하다 한참 걸린 문제다. 별것도 아닌게 스터디 재밌당 ^ HTML 삽입 미리보기할 수 없는 소스 에잉..
이것도 문제 이해하는데 조금 걸렸었다. 단순하게 생각하면 연결리스트 처럼 쭉 이어주면 되는 문제였다. { 1,2,3,4,5 }가 존재하면 2랑 3을 연결하고, {1, 2-3, 4, 5} 1과 2를 연결하면 {1-2-3, 4, 5} 4와 5를 연결하면 {1-2-3, 4-5} 마지막으로 1이랑 4를 연결하면 {1-2-3-4-5} 가 완성된다. 따라서 이어주면 머리랑 꼬리를 구별해주려 했으나 그냥 단순히 한 경로로 생각해서 이어주면 되겠구나 싶었다. 뭉쳐진 부분의 끝을 배열에 저장만 해주면 해당 인덱스로 이동하고 값을 넣어주다가 마지막에 가르키는 곳이 없다면 종료. HTML 삽입 미리보기할 수 없는 소스
문제를 잘 읽자 확실히 사업가는 다르다, 최솟값을 찾아야한다. 100명의 홍보를 원한다 하더라도 100명 이상의 비용이 더 저렴하다면 그 값을 출력해야했다. 간단하게 입력 받은 금액 당 홍보 인원을 통해 현재 인원 - 입력받은 인원으로 따져서 금액을 최신화 해주었다. 현재 인원에 대한 금액 최신화 -> 현재인원 - 입력 받은 인원 + 입력받은 금액 이랑 비교 + 추가로 금액의 최대가 100 이므로 +101 까지만 조회해서 효율을 챙겼다. HTML 삽입 미리보기할 수 없는 소스
하필 또 술먹고 풀어서 머리가 많이 안굴러가 고생한 문제다. 가장 많은 빌딩을 볼 수 있을때 몇개나 볼 수 있는지 구하는 문제이다. 처음에는 어떤 기준으로 보이려나 감이 안잡혀서 그림으로 표현해서 해결했다. 답은 기울기 였다. 현재 내가 있는 빌딩에서 바라보려는 빌딩의 사이가 막혀있다면 볼 수 없으니 기울기를 통해 이를 판단했다. 기울기 판단은 (현재 높이 - 판단할 빌딩 높이) / (현재 위치 idx - 판단할 빌딩 idx) 로 해주었다. 위 계산 방식으로 판단하면 왼쪽의 경우 기울기가 기준보다 크다면 볼 수 없고, 오른쪽의 경우 기울기가 기존보다 작다면 안보일것이다. 먼저 노랑색 포인트를 기준으로 예시를 들겠다. 현재 7높이의 위치하고 있고, idx는 12번이다. 양쪽은 언제나 확인할 수 있으며 그 ..
처음엔 이게 뭐지 감을 못잡았다. 무슨말이래 파일은 바로 옆에있는것만 합칠 수 있고, 순서에 따라 합이 달라지는데 우리는 최소값을 구해주면 된다. 누적합 문제죠~?~ 범위를 2차원 배열로 정해서 DP로 범위를 나눠주기로 했다. 위 예제만 봐도 알겠지만 연산이 가장 적은게 훌륭하다. 최종 값은 결국 두 덩이를 합치는것이다. 하나를 A 하나를 B로 정한다면 합쳐진 A와 합쳐진 B가 더해져서 값을 구하는것 이므로 범위를 정하고, Mid를 조정해서 최소값을 찾아주면 되겠다. 범위를 늘려나가면서 저장해 준다. range 변수를 1부터 증가시켜 N 까지 더한 값으로 올라가고, start와 end 변수로 인덱스를 할당한다. 범위의 최소값을 구하고, 누적합을 통해 중간 연산을 더해준다. -> 누적합은 end에서 sta..
Clone 인스턴스가 스스로를 복사하기 위해 사용. Cloneable 인터페이스 구현 권장. 깊은 복사는 직접 오버라이드하여 구현해야 함. 👀 얕은 복사와 깊은 복사가 존재하는데 간단하게 설명 후 예시를 통해 코드로 확인해보자. 얕은 복사는 객체의 필드 값을 새 객체로 복사하는 과정에서, 기본 타입의 필드는 그 값이 직접 복사되지만, 참조 타입의 필드는 메모리 주소(참조)만 복사된다. 이는 참조 타입의 필드가 가리키는 객체는 복사되지 않고, 원본 객체와 복사된 객체가 같은 객체를 참조하게 된다. 결과적으로, 얕은 복사를 통해 생성된 객체에서 참조 타입의 필드를 수정하면, 그 변경사항이 원본 객체에도 영향을 미친다. 두 객체가 동일한 참조 타입의 인스턴스를 공유하기 때문이다. 깊은 복사는 객체를 복사할 때..
Redux ? JavaScript 앱에서 상태 관리를 위한 자바스크립트 라이브러리이다. UI 라이브러리/프레임워크와 함께 사용될 때 매우 유용하며, 애플리케이션의 상태(state)를 예측 가능한 방식으로 관리할 수 있다. 여기서 "상태"란 앱에서 관리해야 하는 모든 데이터를 말한다. 자바 스크립트는 Props랑 State로 컴포넌트 안에서 데이터를 교환하고, 통신하는 두 용어를 정리해보자. Props (속성): 부모 컴포넌트로부터 자식 컴포넌트에게 전달되는 데이터이다. Props는 컴포넌트가 받는 입력과 같으며, 컴포넌트 내에서 변경할 수 없다. 컴포넌트를 재사용하고 구성할 수 있는 방식이다. 값을 변경하고자해도 자식에서 변경은 불가능하며 부모의 내부를 변경해야 한다. State (상태): 컴포넌트가 관..