greenhelix
greenhelix
greenhelix
07-19 05:55
  • All (229)
    • Algorithm (118)
      • Algorithm (17)
      • Graph (0)
      • Core (6)
      • Python (18)
      • PythonSnippet (4)
      • Java (59)
      • Kotlin (14)
    • Project (0)
    • Study (8)
      • License (5)
      • EIP (3)
    • Programming (63)
      • Android (41)
      • Flutter (1)
      • Bugs Life (21)
      • Linux (0)
    • Tech (32)
      • Tech (17)
      • Drone (4)
      • Hacking (11)
    • Life (6)
      • INGRESS (1)
      • 심시티빌드잇 (0)
250x250

티스토리

hELLO · Designed By 정상우.
greenhelix

greenhelix

#03_Code Signal Arcade >> Check Palindrome
Algorithm/Java

#03_Code Signal Arcade >> Check Palindrome

2019. 9. 29. 02:36

Code Signal -Arcade

코드시그널
아케이드 문제 관련 풀이들을 구글링하면서 찾아가는 일지를 하나씩하나씩 기록하고자 합니당. 

주로 자바 위주로 풀이를 올릴예정이고, 추가로 공부하고 있는 파이썬이나 코틀린, GO, 자바스크립트 더 나아가 스위프트까지...

되는대로 가능한대로 구글링하고 정답맞추면 바로 패스!!
이런식으로 좋은 코드이든 말든 짜집기한 결과물들을 개인적 소장을 위해 기록합니다. ^^
참고 사이트들은 아래에 링크로 남겨둘터이니 자세하고 더욱 깊은 내용들은 링크로 들어가보세요!

마지막 Check Palindrome...??
코알못에 영알못이라.. 구글링.. 

Palindrome 은 앞뒤가 똑같은 회문이라고 한다. 
그냥 간단히 앞으로 읽어도 똑같고 반대로 읽어도 똑같은 발음 문자? 

아무튼 구글링을 해보고, 찾은 답은 

https://github.com/Lintik/CodeFights-Arcade/blob/master/Intro/The%20Journey%20Begins/checkPalindrome/code.java

 

Lintik/CodeFights-Arcade

Efficient Solutions to 100+ problems in CodeFights Arcade written in c++, python, java , c#, JavaScript - Lintik/CodeFights-Arcade

github.com

여기에 있긴한데 .. 흐음 보자보자...

boolean checkPalindrome(String inputString) {
    int l = inputString.length();
    for(int i = 0; i<l/2;i++){
        if(inputString.charAt(i) != inputString.charAt(l-1-i))
            return false;
    }
    return true;
}


입력값에다가 length함수로 int l에 입력값의 길이를 (숫자형태로) 넣는다.
그리고, for반복문을 통해서 입력값의 한글자 한글자 비교를 한다. 
다 똑같으면 true를  하나라도 다르면 false를 리턴한다. 

요거는 또 다른 곳에서 찾은 코오드 
 이 코드는 StringBuilder라는 클래스를 사용하였다.
이 클래스에 대한 설명은 이 블로그에 자세히 나와있다. 
https://novemberde.github.io/2017/04/15/String_0.html

 

Khbyun's blog

Novemberde's dev

novemberde.github.io

boolean checkPalindrome(String inputString) {
   
  String string2 = new StringBuilder(inputString).reverse().toString();
  
  if(inputString.equals(string2)){
   
    return true;
    
  }else{
    return false;
  }
}


아무튼 StringBuilder를 새로 객체로 만들어서 reverse()시킨후 넣어준다.  toString()을 빼먹지말고 넣어준다. 
그렇게 되면 기존의 입력값과 리버스된값을 비교해서 equals를 돌려주면 된다는 설명이다.

StringBuilder java api 

https://docs.oracle.com/javase/7/docs/api/

https://m.blog.naver.com/PostView.nhn?blogId=won2gonzo&logNo=220776489804&proxyReferer=https%3A%2F%2Fwww.google.com%2F

 

알고리즘 문제 - 2. 회문(Palindrome) 구하기 (C언어, JAVA)

알고리즘 2번째 문제 회문 구하기 (Palindrome) 회문이란 문자열을 앞으로 읽으나 뒤로 읽으나 똑같이 읽...

blog.naver.com

 

 

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

'Algorithm > Java' 카테고리의 다른 글

#05_Code Signal Arcade >> Shape Area  (0) 2019.09.29
#04_Code Signal Arcade >> Adjacent Elements Product  (0) 2019.09.29
#01#02_Code Signal Arcade >> ADD & Century From Year  (0) 2019.09.28
    'Algorithm/Java' 카테고리의 다른 글
    • #06_Code Signal Arcade >> Make Array Consecutive 2
    • #05_Code Signal Arcade >> Shape Area
    • #04_Code Signal Arcade >> Adjacent Elements Product
    • #01#02_Code Signal Arcade >> ADD & Century From Year
    greenhelix
    greenhelix
    개발에 관한 것들과 개인적인 것을 담는 블로그

    티스토리툴바