문제 출처 : https://www.acmicpc.net/problem/24196
언어 : Kotlin
문제 설명 :
Anna skickar hemliga krypterade meddelanden till Bert. För att kunna läsa meddelandena måste Bert dekryptera dem med följande algoritm:
Första bokstaven i indata-strängen tas med i utdata-strängen.
Varje bokstav som man tar med beskriver var i indatasträngen nästa bokstav finns som ska tas med. Ett 'A' betyder att nästa bokstav finns 1 position fram, ett 'B' innebär 2 positioner fram osv.
När man kommit till den sista bokstaven i indatat så tar man med den bokstaven och är klar. Indatan är sådan att man alltid kommer till den sista bokstaven.
Hjälp Bert genom att skriva ett program som avkrypterar Annas meddelanden.
입력 :
Den första och enda raden i indatat innehåller den krypterade strängen (högst 50 tecken). Strängen kommer kunna avkrypteras med ovan beskrivna algoritm utan att man trillar över sista bokstaven.
출력 :
Skriv ut den avkrypterade strängen.
제한 사항 :
- 시간 제한 : 2초
- 메모리 제한 : 1024MB
입출력 예 :
입력 | 출력 |
ABKBFA | ABBA |
HZBKRYAFEAAAAJ | HEJ |
풀이 :
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter
fun main() = with(BufferedReader(InputStreamReader(System.`in`))) {
val bw = BufferedWriter(OutputStreamWriter(System.out))
val sb = StringBuilder()
val input = readLine()
var index = 0
while (true) {
if (index >= input.length) break
if (index == 0) {
sb.append(input[0])
index += input[0] - 'A' + 1
}
val cur = input[index]
sb.append(cur)
index += cur - 'A' + 1
}
bw.write(sb.toString())
bw.flush()
bw.close()
}
'백준 > 문제' 카테고리의 다른 글
5211번: 가단조와 다장조 (0) | 2024.07.23 |
---|---|
31746번: SciComLove (2024) (0) | 2024.07.22 |
31458번: !!초콜릿 중독 주의!! (0) | 2024.07.19 |
28445번: 알록달록 앵무새 (0) | 2024.07.19 |
10453번: 문자열 변환 (0) | 2024.07.18 |
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!