fromzero
쪼렙 성장기
fromzero
전체 방문자
오늘
어제
  • Home
    • TIL
      • Python
      • HTML&CSS
      • Django
      • React
      • React Native
      • Git & Jira
      • Tech News
    • Algorithm
      • SW Expert Amademy
      • Baekjoon Online Judge
    • SSAFY
    • Daily log

인기 글

최근 댓글

최근 글

글쓰기 | 설정
hELLO · Designed By 정상우.
fromzero

쪼렙 성장기

6319. 파이썬 함수 연습문제 2
Algorithm/SW Expert Amademy

6319. 파이썬 함수 연습문제 2

2022. 1. 16. 03:31
문제 6319
다음의 결과와 같이 반목문을 이용해 단어의 순서를 거꾸로 해 반환하는 함수를 작성하고 
그 함수를 이용해 회문(앞뒤 어느 쪽에서도 같은 단어, 말) 여부를 판단하는 코드를 작성하십시오.

[입력]
eye

[출력]
eye
입력하신 단어는 회문(Palindrome)입니다.

출처 SW Expert Academy

 

 

함수 : 반복문을 사용 >> 단어 거꾸로

함수를 이용해 회문 판단

 

이렇게라서 일단

1) 입력값을 위한 변수 선언

2) 글자를 거꾸로 반환하도록 for문을 반환하는 함수 작성

 - 문자열도 더하기가 되니까, 누적해서 더해보자!

3) 누적해서 더한 결과랑 처음 입력값과 비교해서

4) 일치하는지 판단하자

라고 생각했다.

 

처음 짜본 코드는

S = input() #문자열을 넣으니까 따로 포맷팅 필요 X

def pal(S): #함수 정의
    P = ""  #더해나갈건데, 숫자가 아니고 문자열이니까 맨 처음엔 아무것도 없어야함
    for i in ?? #여기를 잘 모르겠음...
        P += i  #""에 시작해서 i를 거꾸로 더해 나감
    if S == P:  #원래 단어 S와 거꾸로 더한 P를 비교
        print(P)
        print("입력하신 단어는 회문(Palindrome)입니다.")
    else:
        print(P)
        print("입력하신 단어는 회문(Palindrome)이 아닙니다.")

이랬다.

 

글자를 거꾸로 하는 코드?가 있는가 해서 검색해보니까 reversed( )함수가 있더라고!

그래서 저걸 활용해서 다시 코드를 짜보았다.

S = input()

def pal(word):
    reversed_S = ""
    for i in S:
        reversed_S = reversed_S + i

    if S == reversed_S:
        print(reversed_S)
        print("입력하신 단어는 회문(Palindrome)입니다.")
    else:
        print(reversed_S)
        print("입력하신 단어는 회문(Palindrome)이 아닙니다.")

음.,,,

reversed_S = ""
for i in S:
    reversed_S = reversed_S + i
    print(reversed_S)
    

[결과]
h
he
hel
hell
hello

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ ㅠ

 

이럴 땐 구글링이지

그리고 또 역쉬나.. 내가 모르는 개념이 나왔다. ^^ 출처

 

S = input()

def pal(S):
    reversed_S = S[::-1]
    return reversed_S

if S == pal(S):
    print(pal(S))
    print("입력하신 단어는 회문(Palindrome)입니다.")
else:
    print(pal(S))
    print("입력하신 단어는 회문(Palindrome)이 아닙니다.")

 

반복문을 사용하라길래 당연히 for문이나 while문이 들어가야 하나 했는데, 없어도 되나보다...

그리고 문자열[::-1]은 뭘까...?

 

그리고 if문에서 판단할 때 함수의 결과값이랑 비교하는 거구만... 배웠다.

 

근데 진짜 문자열[::-1]과 반복문... 궁금하다ㅜㅜ 왜 이렇게 풀어야하는거지? if문은 이해가지만 함수가 이해가 안가네!

 

 

무튼 위의 코드로 Pass 하긴 했다.

근데 영 찜찜쓰

저작자표시 (새창열림)

'Algorithm > SW Expert Amademy' 카테고리의 다른 글

6314. 파이썬 내장함수 연습문제 2  (0) 2022.01.16
6313. 파이썬 내장함수 연습문제 1  (0) 2022.01.16
6220. 파이썬 if문 연습문제  (0) 2022.01.14
6207. 파이썬 연산자 연습문제  (0) 2022.01.13
6204. 파이썬 변수 연습문제  (0) 2022.01.10
    'Algorithm/SW Expert Amademy' 카테고리의 다른 글
    • 6314. 파이썬 내장함수 연습문제 2
    • 6313. 파이썬 내장함수 연습문제 1
    • 6220. 파이썬 if문 연습문제
    • 6207. 파이썬 연산자 연습문제
    fromzero
    fromzero

    티스토리툴바