윤굥굥
yg323
윤굥굥
전체 방문자
오늘
어제
  • 굥굥 DEV
    • Computer Science
      • 자료구조 및 알고리즘
      • 운영체제
      • 네트워크
      • 데이터베이스
    • Programming Language
      • Java
      • Kotlin
    • Android
      • with Kotlin
    • Algorithm
      • with Kotlin
    • 하나씩 습득하는 중

블로그 메뉴

  • ↓백준 모아보기 ↓
  • 💚 플레티넘 문제 모아보기
  • 💛 골드 문제 모아보기
  • 🤍 실버 문제 모아보기
  • 🤎 브론즈 문제 모아보기

공지사항

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
윤굥굥

yg323

Algorithm/with Kotlin

[백준][코틀린] 8595 히든 넘버

2022. 2. 9. 12:58

문제 내용

문제

단어에 숫자가 숨어있다. 이 숫자를 히든 넘버라고 한다. 알파벳 대/소문자와 숫자로 이루어진 단어가 주어졌을 때, 모든 히든 넘버의 합을 구하는 프로그램을 작성하시오.

단어와 히든 넘버는 아래와 같은 성질을 갖는다.

  • 연속된 숫자는 한 히든 넘버이다.
  • 두 히든 넘버 사이에는 글자가 적어도 한 개 있다.
  • 히든 넘버는 6자리를 넘지 않는다.
입력

첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다. 

출력

입력으로 주어진 단어에 숨어있는 모든 히든 넘버의 합을 출력한다. 만약, 히든 넘버가 없는 경우에는 0을 출력한다.

예제 입력 예제 출력
14
ab13c9d07jeden
29

 

문제 풀이

https://codechacha.com/ko/kotlin-extract-integers-from-string/

위 링크를 참고해서, 정규식을 사용해서 문자열을 제거하고, 합을 구했다. 이때, 공백이 생길 수 있기때문에 공백이 아닐때만 숫자로 바꿔서 넣어 줄수 있게 했다. 이때 주의할 점은 int범위를 벗어날 수도 있다는 것이다.

</>̆̈ 코드

fun main() {
    val n = readLine()!!.toLong()
    val word = readLine()!!.replace("[^0-9]".toRegex(), " ").split(" ")
    print(word.sumOf { if(it.isNotEmpty()) it.toLong() else 0 })
}

링크

 

8595번: 히든 넘버

첫째 줄에 단어의 길이 n (1 ≤ n ≤ 5,000,000)이 주어진다. 둘째 줄에는 단어가 주어진다. 단어는 알파벳 대/소문자와 숫자(0-9)로 이루어져 있다. 

www.acmicpc.net

 

저작자표시 비영리 변경금지 (새창열림)
    'Algorithm/with Kotlin' 카테고리의 다른 글
    • [공식문서를 읽자] Control Flow - Exceptions
    • [백준][코틀린] 12605 단어순서 뒤집기
    • [백준][코틀린] 11024 더하기 4
    • [백준][코틀린] 11023 더하기 3
    윤굥굥
    윤굥굥

    티스토리툴바