Algorithm/Java알고리즘 문제풀이 & Kotlin

[Algorithm] 특정 문자 뒤집기

2022. 12. 22. 16:21
반응형

알파벳만 뒤집힌 문자열 출력하기


import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        String answer;
            char[] s = str.toCharArray();
            int lt = 0, rt = str.length() - 1;
            while (lt < rt) {
                if (!Character.isAlphabetic(s[lt])) lt++;
                else if (!Character.isAlphabetic(s[rt])) rt--;
                else {
                    char tmp = s[lt];
                    s[lt] = s[rt];
                    s[rt] = tmp;
                    lt++;
                    rt--;
                }
            }
            answer = String.valueOf(s);
            System.out.println(answer);
    }
}

import java.util.Scanner;

public class Main {
    public String solution(String str) {
        String answer;
        char[] s = str.toCharArray();
        int lt = 0, rt = str.length() - 1;
        while (lt < rt) {
            if (!Character.isAlphabetic(s[lt])) lt++;
            else if (!Character.isAlphabetic(s[rt])) rt--;
            else {
                char tmp = s[lt];
                s[lt] = s[rt];
                s[rt] = tmp;
                lt++;
                rt--;
            }
        }
        answer = String.valueOf(s);
        return answer;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner sc = new Scanner(System.in);
        String str = sc.next();
        System.out.println(T.solution(str));
    }
}

Kotlin으로 문제풀이

import java.util.*

fun main() = with(Scanner(System.`in`.bufferedReader())) {
    var str = next()
    println(word(str))

}
fun word(str: String): String {

    var answer = " "
    var s = str.toCharArray()
    var lt = 0
    var rt = str.length - 1

    while (lt < rt) {
        if(!s[lt].isLetter()) lt++
        else if (!s[rt].isLetter()) rt--
        else {
            var tmp = s[lt]
            s[lt] = s[rt]
            s[rt] = tmp
            lt++
            rt--
        }
    }
    answer = s.concatToString()
    return answer
}

isLetter - 문자가 true이면 문자를 반환 합니다.

concatToString - CharArray의 문자를 문자열로 연결합니다.

반응형
저작자표시 비영리 변경금지 (새창열림)

'Algorithm > Java알고리즘 문제풀이 & Kotlin' 카테고리의 다른 글

[Algorithm] 피보나치 수열  (0) 2022.12.23
[Algorithm] 단어 뒤집기  (0) 2022.12.22
[Algorithm] 가위 바위 보  (0) 2022.12.22
[Algorithm] 보이는 학생  (0) 2022.12.21
[Algorithm] 큰 수 출력하기  (0) 2022.09.16
'Algorithm/Java알고리즘 문제풀이 & Kotlin' 카테고리의 다른 글
  • [Algorithm] 피보나치 수열
  • [Algorithm] 단어 뒤집기
  • [Algorithm] 가위 바위 보
  • [Algorithm] 보이는 학생
yunJaem06
yunJaem06
비바윤yunJaem06 님의 블로그입니다.
yunJaem06
비바윤
yunJaem06
전체
오늘
어제
  • 전체 (147)
    • Algorithm (121)
      • [알고리즘]BACKJOON - Java&Kotli.. (98)
      • Java알고리즘 문제풀이 & Kotlin (23)
    • Kotlin (4)
    • Android (17)
    • CS (1)
      • 소프트웨어공학 (1)
      • 운영체제 (0)
      • 컴퓨터구조 (0)
    • 내가 좋아하는 맛집 :) (0)
    • 다시 볼만한 영화 & 드라마 (0)

블로그 메뉴

  • 홈

공지사항

인기 글

태그

  • 3장
  • 중복문자제거
  • reversed
  • Android
  • Java
  • Kotlin In Action
  • qr
  • kotlin
  • 안드로이드
  • 배열
  • lottie
  • AndroidViewModel
  • 알고리즘
  • 특정 문자 뒤집기
  • 양방향
  • DataBinding
  • 캡슐화
  • 가위 바위 보
  • MutableLiveData
  • Lifecycle
  • 코틀린
  • 라이브러리
  • Livedata
  • Kotiln
  • zxing
  • 생명주기
  • splash화면
  • ViewModel
  • ViewModelFactory
  • 1장

최근 댓글

최근 글

hELLO · Designed By 정상우.
yunJaem06
[Algorithm] 특정 문자 뒤집기
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.