14584번: 암호 해독
백준/문제2024. 6. 5. 02:5414584번: 암호 해독

문제 출처 : https://www.acmicpc.net/problem/14584 언어 : Kotlin 문제 설명 :로마의 장군 카이사르는 로마군의 작전을 적이 모르게 하기 위하여 암호를 사용했다. 카이사르는 다음과 같이 문장에 있는 모든 알파벳 글자를 몇 칸 뒤의 알파벳으로 바꾸는 방식으로 암호를 만들었다. 아래 표는 모든 글자를 17칸 뒤의 알파벳으로 바꿨을 때 각 글자가 어떤 알파벳으로 바뀌는지 나타낸 표이다. 이 방법에 따라 ‘Baekjoon Online Judge’를 암호화하면 ‘Srvbaffe Feczev Aluxv’가 된다. 당신은 페르시아 군대의 장군으로서 카이사르의 암호를 해독해야 한다. 당신은 카이사르가 어떤 방법으로 문장을 암호화하는지는 알고 있지만 카이사르가 몇 칸 뒤의 알파벳으로 ..

13275번: 가장 긴 팰린드롬 부분 문자열
백준/문제2024. 6. 5. 02:3313275번: 가장 긴 팰린드롬 부분 문자열

문제 출처 : https://www.acmicpc.net/problem/13275 언어 : Kotlin 문제 설명 :문자열 S의 부분 문자열 중에서 팰린드롬인 것 중 가장 긴 것의 길이를 구하는 프로그램을 작성하시오. 입력 :첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있으며 길이는 1보다 크거나 같고, 100,000보다 작거나 같다. 출력 :가장 긴 팰린드롬 부분 문자열의 길이를 출력한다. 제한 사항 :시간 제한 : 0.5초메모리 제한 : 512MB 입출력 예 :입력출력abcd1abab3dcabccd2abcba5aaaaa5 풀이 : https://small-stepping.tistory.com/986 14444번: 가장 긴 팰린드롬 부분 문자열문제 출처 : https://www.a..

17201번: 자석 체인
백준/문제2024. 6. 4. 15:4017201번: 자석 체인

문제 출처 : https://www.acmicpc.net/problem/17201 언어 : Kotlin 문제 설명 :블록체인에 대해 들은 초등학생 관빈이는 자석을 이어 붙여 자석 체인을 만든 다음, 이를 이용한 가상 화폐를 만들고 싶어졌다. 관빈이는 특이한 자석을 가지고 있는데 관빈이가 가지고 있는 자석의 (+)극에는 1이라는 숫자가 쓰여 있고, (-)극에는 2라는 숫자가 쓰여 있다. 그리고 관빈이의 자석은 막대 모양으로, (+)극과 (-)극이 하나씩 있다. 보통, 자석은 같은 극끼리는 밀어내고 다른 극끼리는 서로 끌어당겨 붙는 성질이 있다. 관빈이는 이 성질을 이용해 가지고 있는 자석들을 정성스럽게 모두 이어 붙여 연결된 자석 체인을 만든 뒤 자석 코인의 급등을 꿈꾸며 잠이 들었다. 하지만 그날 밤에,..

6137번: 문자열 생성
백준/문제2024. 6. 4. 15:296137번: 문자열 생성

문제 출처 : https://www.acmicpc.net/problem/6137 언어 : Kotlin 문제 설명 :N개의 문자로 이루어진 문자열 S가 입력된다.이 문자열의 각 문자들로 새로운 문자열 T를 만들려고한다.문자열 S로 문자열 T를 만드는 규칙은 다음과 같다.문자열 S의 가장 앞의 문자 하나를 문자열 T의 마지막에 추가한다.문자열 S의 가장 뒤의 문자 하나를 문자열 T의 마지막에 추가한다.위 규칙으로 만들어진 문자열 T들 중 사전순으로 가장 빠른 문자열을 출력하는 프로그램을 작성하시오. 입력 :첫 번째 줄에 문자열 S의 길이 N이 주어진다. (N 이후 N개의 줄에 S를 이루는 문자들이 주어진다. 출력 :만들어진 사전순으로 가장 빠른 문자열을 출력한다. 80글자마다 새줄 문자를 출력해야 한다. 제..

25641번: 균형 잡힌 소떡소떡
백준/문제2024. 6. 4. 14:0725641번: 균형 잡힌 소떡소떡

문제 출처 : https://www.acmicpc.net/problem/25641 언어 : Kotlin 문제 설명 :소떡소떡은 기다란 꼬치에 소세지와 떡을 끼운 음식이다. 편의상 소떡소떡을 알파벳 s와 t로만 구성된 길이 N의 문자열로 생각하자. 알파벳 s는 소세지를, t는 떡을 의미한다. 위 그림은 길이가 7인 소떡소떡의 예시이다. 유진이는 소떡소떡을 먹기 전에 소떡소떡을 균형 잡힌 소떡소떡으로 만들려고 한다. 꼬치에 꽂힌 소세지와 떡의 개수가 같을 때 이를 균형 잡힌 소떡소떡이라고 한다. 단, 소세지와 떡이 한 개도 꽂혀있지 않다면 균형잡힌 소떡소떡이 아니다. 위 그림은 소세지가 3개, 떡이 4개 꽂혀 있기 때문에 균형 잡힌 소떡소떡이 아니다. 유진이는 소떡소떡의 맨 왼쪽에 있는 소세지나 떡을 떼어낼..

에러: Cannot find implementation for com.example.flightsearch.data.AppDatabase. AppDatabase_Impl does not exist
개발/안드로이드 에러2024. 6. 3. 19:31에러: Cannot find implementation for com.example.flightsearch.data.AppDatabase. AppDatabase_Impl does not exist

해결법을 찾기는 바로 찾았다.한글 사용자들이 블로그에 작성한 글들도 여럿 존재한다. https://stackoverflow.com/questions/46665621/android-room-persistent-appdatabase-impl-does-not-exist Android room persistent: AppDatabase_Impl does not existMy app database class @Database(entities = {Detail.class}, version = Constant.DATABASE_VERSION) public abstract class AppDatabase extends RoomDatabase { private static AppDatabase INSTANCE; ...s..

마나커(Manacher) 알고리즘
개발/알고리즘2024. 6. 3. 14:07마나커(Manacher) 알고리즘

1. 마나커 알고리즘(Manacher's Algorithm)이란?어떤 문자열에서 팰린드롬의 개수와 위치를 찾는 알고리즘이다. 팰린드롬이란?팰린드롬(회문, Palindrome)은 전체 문자열을 뒤집었을 때 원래 상태와 같은 수열, 문자열 등을 의미한다.ex) "기러기", "eye", "level", "aba", "aa"  마나커 알고리즘은 문자열 길이의 P 배열에 i번째 문자를 중심으로 한느 가장 긴 팰린드롬의 반지름 크기를 저장한다.시간복잡도는 O(N)으로 접미사배열 + LCP 배열을 이용한 방법 O(NLogN)보다 빠르다. https://small-stepping.tistory.com/936 멘버 마이어스 알고리즘과 Kasai 알고리즘문자열을 다룰 때 빼놓을 수 없는 자료 구조인 접미사 배열(Suffi..

14444번: 가장 긴 팰린드롬 부분 문자열
백준/문제2024. 6. 3. 02:3414444번: 가장 긴 팰린드롬 부분 문자열

문제 출처 : https://www.acmicpc.net/problem/14444 언어 : Kotlin 문제 설명 :알파벳 소문자로만 이루어진 문자열 S가 주어졌을 때, S의 부분 문자열 중에서 팰린드롬 이면서 길이가 가장 긴 것의 길이를 구하는 프로그램을 작성하시오. 입력 :첫째 줄에 알파벳 소문자로만 이루어진 문자열 S가 주어진다. S의 길이는 100,000을 넘지 않는다. 출력 :첫째 줄에 S의 부분 문자열 중에서 팰린드롬 이면서 길이가 가장 긴 것의 길이를 출력한다. 제한 사항 :시간 제한 : 2초메모리 제한 : 512MB 입출력 예 :입력출력abab3banana5baekjoon2online1eevee5 풀이 : 마나허 알고리즘을 사용하였다.문자열에 존재하는 팰린드롬 부분 문자열을 빠르게 찾을 수..

19585번: 전설
백준/문제2024. 6. 3. 01:4919585번: 전설

문제 출처 : https://www.acmicpc.net/problem/19585 언어 : Kotlin 문제 설명 :Sogang ICPC Team에는 색상 이름과 닉네임의 순서로 이여서 팀명을 지으면 ICPC 리저널에서 수상할 수 있다는 전설이 있다. 색상 이름들과 닉네임들이 주어질 때, Q개의 팀에 대해 다음 리저널에서 수상할 수 있을지 전설에 기반해 알려주는 프로그램을 작성하자. 입력 :첫째 줄에는 색상의 종류 C와 닉네임의 개수 N이 주어진다. (1 ≤ C, N ≤ 4,000)다음 C개의 줄에는 색상 이름 C개가 한 줄에 하나씩 주어진다. 색상 이름은 중복되지 않는다.다음 N개의 줄에는 Sogang ICPC Team 구성원들의 닉네임 N개가 한 줄에 하나씩 주어진다. 닉네임도 중복되지 않는다.다음 ..

28702번: FizzBuzz
백준/문제2024. 6. 3. 01:1228702번: FizzBuzz

문제 출처 : https://www.acmicpc.net/problem/28702 언어 : Kotlin 문제 설명 :FizzBuzz 문제는 i = 1, 2, ... 에 대해 다음 규칙에 따라 문자열을 한 줄에 하나씩 출력하는 문제입니다.i가 3의 배수이면서 5의 배수이면 “FizzBuzz”를 출력합니다. i가 3의 배수이지만 5의 배수가 아니면 “Fizz”를 출력합니다. i가 3의 배수가 아니지만 5의 배수이면 “Buzz”를 출력합니다.i가 3의 배수도 아니고 5의 배수도 아닌 경우 i를 그대로 출력합니다.FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 주어집니다. 이때, 이 세 문자열 다음에 올 문자열은 무엇일까요? 입력 :FizzBuzz 문제에서 연속으로 출력된 세 개의 문자열이 한 줄에 ..

image