Noah_Developer
Developer Noah
Noah_Developer
전체 방문자
오늘
어제
  • 전체보기 (88)
    • Programmers (33)
      • Level1 (33)
    • FRONT-END (3)
      • React (2)
      • HTML (0)
      • CSS (0)
      • JavaScrpit (1)
    • BACK-END (23)
      • JAVA (14)
      • C (0)
      • Spring (5)
    • DATABASE (11)
      • MySQL (3)
      • Oracle (0)
    • IDE (2)
      • IntelliJ (2)
      • Eclipse (0)
      • VSCode (0)
    • Android (1)
    • 용어 (2)
      • 금융 (2)
    • Developer Diary (5)
      • Web (1)
    • 자격증 (1)
    • Operating System (3)
      • Linux (2)
    • Info (3)

블로그 메뉴

  • 홈
  • 방명록
  • 포트폴리오
  • 깃허브

공지사항

  • 🙏 방문 감사합니다.

인기 글

태그

  • 코딩테스트 준비
  • 카카오 블라인드
  • 프로그래머스 레벨1
  • 프로그래머스 코딩연습
  • 프로그래머스 문제풀이
  • 크레인 인형뽑기 풀이
  • MySQL
  • 프로그래머스 연습문제
  • 알고리즘 예제
  • 알고리즘 블로그
  • 코딩테스트 문제
  • 알고리즘 쉬운문제
  • 알고리즘 연습문제
  • level1
  • 알고리즘 풀이
  • 크레인 인형뽑기 정답
  • 알고리즘 문제
  • 자바 쉬운 알고리즘
  • 코딩테스트
  • programmers level 1
  • 카카오공채
  • programmers
  • 카카오 블라인드 테스트
  • String StringBuilder 차이
  • 크레인 인형뽑기
  • 개발일기
  • 코딩테스트 문제 풀이
  • 프로그래머스
  • 자바 알고리즘 연습문제
  • 초보자 알고리즘

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
Noah_Developer

Developer Noah

[Programmers Level1] 가운데 글자 가져오기 정답 및 문제 풀이
Programmers/Level1

[Programmers Level1] 가운데 글자 가져오기 정답 및 문제 풀이

2021. 4. 30. 08:00
728x90

문제 바로가기

 

코딩테스트 연습 - 가운데 글자 가져오기

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret

programmers.co.kr

문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

재한사항

  • s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

s return
"abcde" "c"
"qwer" "we"

뇌풀기 문제 수준.

라면 끓이는 시간이랑 비슷하게 걸렸다.

1차 제출

1
2
3
4
5
6
7
8
9
10
11
12
13
class Solution {
    public String solution(String s) {
        String answer = "";
        
        if(s.length() % 2 == 0){
            answer = s.substring((s.length()/2)-1, s.length()/2+1);
        } else {
            answer = s.substring(s.length() - (s.length()/2)-1, s.length() - (s.length()/2));
        }
        
        return answer;
    }
}
Colored by Color Scripter
cs

채점 결과 

 

1차 제출 후 빠른 시간안에 처리한게 좀 찜찜해서

그래서 조금 더 생각해 보고 다른 사람들의 풀이도 보다보니 이런 풀이가 있더라.

1
2
3
4
5
    public void solution(String s) {
        String answer = "";
        answer = s.substring( (s.length() -1 ) / 2, ( s.length()/2 ) +1);
        System.out.println(answer);
    }
Colored by Color Scripter
cs

한줄 짜리 코드로 정말 깔끔하게 작성된 코드지만

전달받는 파라미터에 대해 유효성 검사가 추가가 되었으면 좋겠다는 생각에 수정을 거듭했다.

1
2
3
4
5
    public void solution(String s) {
        String answer = "";
        if(!"".equals(s)) answer = s.substring( (s.length() -1 ) / 2, ( s.length()/2 ) +1);
        System.out.println(answer);
    }
Colored by Color Scripter
cs

이렇게 오늘은 두가지 방법으로 풀이를 해보았다.

728x90
저작자표시 (새창열림)

'Programmers > Level1' 카테고리의 다른 글

[Programmers Level1] 두 개 뽑아서 더하기 정답 및 문제 풀이  (0) 2021.05.02
[Programmers Level1] 같은 숫자는 싫어 및 문제 풀이  (0) 2021.05.01
[Programmers Level1] 문자열 내 p와 y의 개수 정답 및 문제 풀이  (0) 2021.04.29
[Programmers Level1] 신규 아이디 추천 정답 및 풀이 설명 카카오 블라인드 공개채용 문제  (0) 2021.04.28
[Programmers Level1] 모의고사 정답 및 풀이 설명  (0) 2021.04.27
    'Programmers/Level1' 카테고리의 다른 글
    • [Programmers Level1] 두 개 뽑아서 더하기 정답 및 문제 풀이
    • [Programmers Level1] 같은 숫자는 싫어 및 문제 풀이
    • [Programmers Level1] 문자열 내 p와 y의 개수 정답 및 문제 풀이
    • [Programmers Level1] 신규 아이디 추천 정답 및 풀이 설명 카카오 블라인드 공개채용 문제
    Noah_Developer
    Noah_Developer
    개발 기록 목적을 가진 블로그입니다.

    티스토리툴바