23746번: 문자열 압축 해제
백준/문제2024. 9. 12. 13:3123746번: 문자열 압축 해제

문제 출처 : https://www.acmicpc.net/problem/23746 언어 : Kotlin 문제 설명 :특정 소문자 문자열 패턴을 대문자 한 글자로 압축하는 프로그램 SPC(String Pattern Compressor)가 있다.예를 들어, 다음과 같은 방법으로 압축하는 경우, “aabbaaac”는 “ABAC”로 압축된다. 소문자 문자열 패턴대문자 aa A bba B c C 압축 프로그램과 압축된 문자열이 주어지면, 압축되기 전 문자열의 일부를 출력하는 프로그램을 작성하시오. 입력 :첫 번째 줄에 압축 방법의 개수 N이 주어진다. (1 ≤ N ≤ 26)두 번째 줄부터 N개의 줄에 소문자 문자열 패턴과 대응되는 대문자가 공백으로 구분되어 주어진다. 각 소문자 문자열 패턴의 길이는 1,000을 ..

다익스트라(Dijkstra) 알고리즘
개발/알고리즘2024. 9. 11. 14:15다익스트라(Dijkstra) 알고리즘

1. 다익스트라 알고리즘이란?이 알고리즘은 에츠허르 데이크스트라가 1956년에 고안하고 1959년에 발표되었다. 그의 이름에서 따와 데이크스트라, 다익스트라라고 불리우는 이 알고리즘은 도로 교통망 같은 곳에서 나타날 수 있는 그래프에서 꼭짓점 간의 최단 경로를 찾는 알고리즘이다. 최단 경로 탐색 알고리즘으로 널리 알려져있으며, 흔히 인공위성 GPS 소프트웨어 등에서 가장 많이 사용된다. 특정한 하나의 정점에서 다른 모든 정점으로 가는 최단 경로를 알려주기 때문에 음의 간선을 포함할 수 없다. 물론 우리가 살아가는 현실은 음의 간선이란 존재하지 않기에 다익스트라 알고리즘은 현실 세계에서 사용하기 매우 적합한 알고리즘 중 하나라고 할 수 있다. 다익스트라 알고리즘은 하나의 정점에서 모든 정점으로 가는 최단 ..

11725번: 트리의 부모 찾기
백준/문제2024. 9. 11. 13:0211725번: 트리의 부모 찾기

문제 출처 : https://www.acmicpc.net/problem/11725 언어 : Kotlin 문제 설명 :루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. 입력 :첫째 줄에 노드의 개수 N (2 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N-1개의 줄에 트리 상에서 연결된 두 정점이 주어진다. 출력 :첫째 줄부터 N-1개의 줄에 각 노드의 부모 노드 번호를 2번 노드부터 순서대로 출력한다. 제한 사항 :시간 제한 : 1초메모리 제한 : 256MB 입출력 예 :입력출력7 1 6 6 3 3 5 4 1 2 4 4 74 6 1 3 1 412 1 2 1 3 2 4 3 5 3 6 4 7 4 8 5 9 5 10 6 11 6 12..

1753번: 최단경로
백준/문제2024. 9. 11. 11:521753번: 최단경로

문제 출처 : https://www.acmicpc.net/problem/1753 언어 : Kotlin 문제 설명 :방향그래프가 주어지면 주어진 시작점에서 다른 모든 정점으로의 최단 경로를 구하는 프로그램을 작성하시오. 단, 모든 간선의 가중치는 10 이하의 자연수이다. 입력 :첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 주어진다. 셋째 줄부터 E개의 줄에 걸쳐 각 간선을 나타내는 세 개의 정수 (u, v, w)가 순서대로 주어진다. 이는 u에서 v로 가는 가중치 w인 간선이 존재한다는 뜻이다. u와 v는 서로 다르며 ..

29701번: 모스 부호
백준/문제2024. 9. 10. 12:1829701번: 모스 부호

문제 출처 : https://www.acmicpc.net/problem/29701 언어 : Kotlin 문제 설명 :혜민이는 요즘 모스 부호에 관심이 많아졌다. 모스 부호는 짧은 신호와 긴 신호를 적절히 조합하여 문자 기호를 표기하는 방식이다. 각 문자를 나타내는 방식은 미리 정해져 있는데, 예를 들어, 짧은 신호를 '.', 긴 신호를 '-'로 나타낸다면, 모스 부호로 알파벳 'A'는 '.-', 숫자 1은 '.----'와 같이 표기할 수 있다. 모스 부호를 알고 있으면 위험한 상황에서 구조 요청을 하는 데 유용할 것 같아, 혜민이는 평상시에 친구들과 연락을 주고받을 때도 모스 부호를 사용하려고 한다. 혜민이는 친구들이 보내온 모스 부호를 올바르게 해독했는지 바로바로 확인하고 싶어졌다. 알파벳 A-Z, 숫..

29700번: 우당탕탕 영화예매
백준/문제2024. 9. 10. 11:3229700번: 우당탕탕 영화예매

문제 출처 : https://www.acmicpc.net/problem/29700 언어 : Kotlin 문제 설명 :도은이는 동아리 문화의 날을 맞이하여 동아리원들과 함께 좌석이 M행 N열의 직사각형 모양으로 배치되어 있는 영화관에서 영화를 보기로 했다. 도은이는 동아리원의 유대감을 중요하게 생각하기 때문에 이미 예매가 완료된 좌석을 피해 동아리원들이 모두 가로로 이어서 앉을 수 있도록 자리를 예매하고 싶어 한다. 도은이를 도와 모든 동아리원들이 가로로 이어서 앉을 수 있도록 예매하는 경우의 수는 총 몇 가지가 있을지 구해보자. 단, 예매한 좌석은 동일하지만, 각 사람이 앉는 위치만 바뀌는 경우는 한 가지로 본다. 입력 :첫째 줄에 영화관 세로줄의 개수 N(1 ≤ N ≤ 1000)과 가로줄의 개수 M(1..

6750번: Rotating letters
백준/문제2024. 9. 10. 11:216750번: Rotating letters

문제 출처 : https://www.acmicpc.net/problem/6750 언어 : Kotlin 문제 설명 :An artist wants to construct a sign whose letters will rotate freely in the breeze. In order to do this, she must only use letters that are not changed by rotation of 180 degrees: I, O, S, H, Z, X, and N. Write a program that reads a word and determines whether the word can be used on the sign. 입력 :The input will consist of one word..

근황2024. 9. 9. 17:55Hilt 강좌를 통한 SNS Application 만들기 후기

https://small-stepping.tistory.com/1171 Hilt 강좌를 통한 SNS Application 만들기Android 공부와 Hilt의 공부, 실력 한단계 업을 위해 해당 강좌를 수강 중에 있다.확실히 독학보단 매우 도움이 되며, 실무자가 작성하는 코드에 대해 알아볼 수 있었고, 저 정도의 지식량을 소화해small-stepping.tistory.com 해당 글에 이어서 기능 세 가지를 구현함으로써 강의가 끝남과 동시에 얼추 애플리케이션은 마무리되었다.추가된 기능은 다음과 같다.  1. 댓글 목록 확인 및 댓글 추가 - 삭제 2. 게시글 작성시 텍스트 스타일 변경 3. 오프라인 모드 설정   해당 강좌와 sns앱 만들기 프로젝트를 통해 Hilt에 대한 개념, 실제로 프로젝트에는 어떻..

14455번: Don't Be Last!
백준/문제2024. 9. 9. 14:1314455번: Don't Be Last!

문제 출처 : https://www.acmicpc.net/problem/14455 언어 : Kotlin 문제 설명 :Farmer John owns 7 dairy cows: Bessie, Elsie, Daisy, Gertie, Annabelle, Maggie, and Henrietta. He milks them every day and keeps detailed records on the amount of milk provided by each cow during each milking session. Not surprisingly, Farmer John highly prizes cows that provide large amounts of milk. Cows, being lazy creatures, do..

12787번: 지금 밥이 문제냐
백준/문제2024. 9. 9. 13:2612787번: 지금 밥이 문제냐

문제 출처 : https://www.acmicpc.net/problem/12787 언어 : Kotlin 문제 설명 :평소에 전공 공부를 열심히 하는 황제는 시험기간에 형들이 IPv4, IPv6주소를 저장하는데 각각 최소 4바이트, 6바이트가 필요하다는 얘기를 듣고 아람이에게 질문했다. 황제: "IPv8주소를 저장하는데는 최소 몇 바이트의 공간이 필요할까?"아람: "당연히 8바이트의 공간이 필요하지"황제: "아하! 그러면 127.0.0.1이라는 IPv4 주소는 컴퓨터는 모든 수를 이진수로만 저장 하니까 127=01111111, 0=00000000, 0=00000000, 1=00000001로 저장되겠군. 그런데 이 4개의 값은 따로 저장 되는 것이 아니라 하나의 부호가 없는 정수형 변수에 저장되니까 이 변수..

image