본문 바로가기

스터디(beakjoon)98

Kotlin] 백준 1158번 풀이 https://www.acmicpc.net/problem/1158 더보기흔한 요세푸스 문제입니다. 요세푸스 문제의 첫번째 난관은 없어진 인덱스에서 다음 기점으로 세서 삭제한다는 점이 있습니다. 즉, 죽인(?) 인덱스를 기억해야합니다.두 번째는 그래서 그 인덱스를 저장한다고 해서 인덱스를 끊임없이 + 하다보면 언젠가는 배열의 크기를 넘어버리는 시점이 옵니다. 그럼 처음으로 다시 돌아와 세야만 합니다. 따라서, 인덱스의 시작 지점을 어디로 보느냐가 중요합니다. 저는 초기값과 죽은 인덱스를 -1로 보고 올라가는 숫자에서 -1을 제외한 값을 인덱스에 더해가며 값을 올렸습니다. 생각해보십쇼. 케이스 중에 7 1의 문제가 있다고 가정합니다.[1 2 3 4 5 6 7]의 배열에서 요세푸스의 첫번째 숫자를 삭제한다 했.. 2024. 9. 1.
Kotlin] 백준 2606 풀이 https://www.acmicpc.net/problem/2606  더보기이 문제는 연결된 노드를 탐색하기만 하면 되서 깊이 탐색이든 넓이 탐색이든 편한대로 사용하면 된다.글쓴이는 깊이 탐색으로 풀었음 ^-^https://itstudy-mary.tistory.com/595 깊이 우선 탐색법(with. kotlin)이런 그래프가 있다 가정해보자(발편집 ㅈㅅ) 이 그래프를 깊이 우선으로 찍으려고 하면 어떻게 해야할까?애초에 깊이 우선이란 무엇인가? 한번 딥하게 끝까지 갔다가 다시 돌아오는걸 뜻한다.itstudy-mary.tistory.com  (개인적으로) 이 문제에서 걸린 점은 연결은 양방향이라는 점인데.. 그래서 그래프에서 연결된 양 옆 다 연결된 노드를 필터링 해서 풀었다.(근데 이럴거 같으면 사실 노.. 2024. 5. 23.
Kotlin] 백준 15128번 문제 풀이 https://www.acmicpc.net/problem/15128 더보기이 문제는 (다른 언어는 모르겠는데) 자바 코틀린은 부동소수점 문제로 인해 걸린다. 그래서 실수 연산에서 걸리게 된다. (부동 소수점 문제에 대한 글)https://www.acmicpc.net/blog/view/37 그래서 double을 쓰게 되면 실수연산에 걸려 문제가 터진(?)다.그럼 코틀린에서 부동소수점 연산의 오류를 피하게 되는 방법이 뭐인가?1. 연산의 순서를 바꾸어 실수 연산의 가능성 줄이기2. double 대신 long 쓰기 long과 double의 차이를 보자. Long 타입- 정수형 : Long은 64비트 정수형 데이터 타입. 부호가 있는 경우 +- 2^63의 범위를 가짐.- 정밀도 : Long은 정수이기 때문에 6.. 2024. 5. 17.
Kotlin] 백준 11282번 풀이 https://www.acmicpc.net/problem/11282 더보기이 문제는.. 한글 유니코드 규칙을 알고 있어야 한다.한글의 유니코드는 다음과 같이 초, 중, 종성으로 나누어져있고, 각각의 위치에서 인덱스를 빼내어 유니코드를 도출하는 방식이다.따라서 해당 인덱스를 찾아낸다면 어렵지 않다. val firstList = arrayOf("ㄱ", "ㄲ", "ㄴ", "ㄷ", "ㄸ", "ㄹ", "ㅁ", "ㅂ", "ㅃ", "ㅅ", "ㅆ", "ㅇ", "ㅈ", "ㅉ", "ㅊ", "ㅋ", "ㅌ", "ㅍ", "ㅎ")val secondList = arrayOf("ㅏ", "ㅐ", "ㅑ", "ㅒ", "ㅓ", "ㅔ", "ㅕ", "ㅖ", "ㅗ", "ㅘ", "ㅙ", "ㅚ", "ㅛ", "ㅜ", "ㅝ", "ㅞ", "ㅟ", "ㅠ".. 2024. 5. 14.
반응형