알고리즘/프로그래머스

이상한 문자 만들기

개발 공주 2023. 6. 20. 23:35
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/12930

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요.

 

제한사항

  • 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다.
  • 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다.

 

입출력 예

s return
"try hello world" "TrY HeLlO WoRlD"

입출력 예 설명

"try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 대문자로, 홀수번째 문자를 소문자로 바꾸면 "TrY", "HeLlO", "WoRlD"입니다. 따라서 "TrY HeLlO WoRlD" 를 리턴합니다.

 


나의 풀이

풀이

 

와 처음에는 str을 공백 기준으로 split했다...... 그렇게 막 일일이 하나씩 for문 돌려서 짝수 홀수 나누고 막...막....암튼 그랬다... 맞는거 같은데 자꾸 실패가 나와서.... 기분이 상해서 산책하고 있다가 딱 떠올린 코드이다...ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ

 

하루종일 아무것도 못하다가 다른거 생각할때 갑자기 생각이 나다니... 후..... 바로 집에와서 풀었다.

 

우선 s를 한문자씩 읽을 수? 있게 split으로 잘라준다. 그리고 count 변수를 만들어서 짝수 홀수 유무를 판단한다.

무슨말이냐 띄어쓰기를 기준으로 짝수 홀수를 나누는건데 음... s[i] (코드에서는 str[i])가 공백일때 0으로 초기화를 하는거다... 왜냐 공백기준으로 나눠야하기때문에.. 그래서 다음으로 짝수일경우에는 해당문자를 대문자로 바꿔주고 홀수이면 소문자로 바꾸어준다.. 이걸 answer 변수에 하나씩 더해준다... 

 

진짜 이거 푸는데 하루종일 걸렸다...아오~ 그래도 보람있다.. 계산적인 문제가 좀 딸리기는 하지만 앞으로 이렇게 연습을 많이 해보아야 겠다.

'알고리즘 > 프로그래머스' 카테고리의 다른 글

콜라츠 추측  (0) 2023.06.20
완주하지 못한 선수 ver_1  (0) 2023.06.20
내적  (0) 2023.06.16
나누어 떨어지는 숫자 배열  (0) 2023.06.16
부족한 금액 계산하기  (0) 2023.06.16