[2020-11-16] 이상한 문자 만들기

2020. 11. 16. 14:57·코딩테스트

푼 시간 : 40분

언어 : 자바

 


 

programmers.co.kr/learn/courses/30/lessons/12930#

 

코딩테스트 연습 - 이상한 문자 만들기

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

programmers.co.kr

 

문제를 풀기 위해 고민했던것은 공백을 제거하는 것 이었다.

split으로 문장에 띄어쓰기마다 분리를 해야 했었기때문에 기준이 필요했다.

split메소드는 split(String regex, int limit) 인자를 가지고 있는데

limit을 통해 반환될 배열의 크기에 영향을 준다.

 

나머지는 심플하게 char형에서 대문자 소문자로 바꾸는 방식을 썼다.

마지막에 공백을 하나 더 채우게 되는데, i가 배열의 마지막이 될경우 break를 걸게 해놨다.

 

class Solution {
    public String solution(String s) {
        String answer = "";
        String[] array=s.split(" ", -1);   
        // 0보다 작은 -1로 지정
        
        for(int i=0; i<array.length; i++){
            int count=array[i].length();
            // 단어마다 카운트
            for(int j=0; j<count; j++){
                int tmp=(int)array[i].charAt(j);
                // 한 글자마다 int로 받아줘 계산한다.
                if((j==0||j%2==0)&&(97<=tmp && tmp<=122))
                // 짝수이면서 소문자일 경우
                    answer+=(char)(tmp-32);
                else if(j%2!=0&&(65<=tmp && tmp<=90))
                // 홀수이면서 대문자일 경우
                    answer+=(char)(tmp+32);
                else
                    answer+=(char)tmp;
            }
            if(i==array.length-1)
            // 마지막 공백처리
                break;
            
            answer+=" ";
        }
        
        return answer;
    }
}

'코딩테스트' 카테고리의 다른 글

[2020-11-18] 정수 제곱근 판별도움말  (0) 2020.11.18
[2020-11-17] 정수 내림차순으로 배치하기  (0) 2020.11.17
[2020-11-13] 약수의 합  (0) 2020.11.13
[2020-11-12] 문자열을 정수로 바꾸기  (0) 2020.11.12
[2020-11-11] 수박수박수박수박수박수?  (0) 2020.11.11
'코딩테스트' 카테고리의 다른 글
  • [2020-11-18] 정수 제곱근 판별도움말
  • [2020-11-17] 정수 내림차순으로 배치하기
  • [2020-11-13] 약수의 합
  • [2020-11-12] 문자열을 정수로 바꾸기
jun96
jun96
프로그래밍 공부
  • jun96
    jun의 공부노트
    jun96
  • 전체
    오늘
    어제
    • 분류 전체보기 (66)
      • Spring (6)
        • 개념 (3)
        • 에러 (1)
      • Java (1)
      • Book (20)
        • 모던 자바 인 액션 (12)
        • 디자인 패턴의 아름다움 (7)
      • Algorithm (1)
      • 코딩테스트 (35)
      • 일상 (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • 이력서
  • 공지사항

  • 인기 글

  • 태그

    모던자바인액션
    Java
    프로그래머스
    백준
    최프
    aws에 배포하기
    전자정부프레임워크
    스프링
    아직 미완성
    junit5
    알고리즘
    datetime
    python설치
    자바
    aws배포
    DeepDive
    Algorithm
    디자인패턴의아름다움
    도커컨테이너빌드업
    wikidocs
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
jun96
[2020-11-16] 이상한 문자 만들기
상단으로

티스토리툴바