ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • 프로그래머스 Lv.2
  • React
  • 깃
  • getOrDefault
  • 프로그래머스
  • 코틀린
  • git
  • stack
  • DP
  • Android
  • 백준
  • dfs
  • 해시
  • reactjs
  • Arrays.sort()
  • 스택/큐
  • entrySet
  • 깃허브
  • HashMap
  • java
  • compareTo()
  • sort
  • 안드로이드
  • BFS
  • git bash
  • PriorityQueue
  • Comparator
  • kotiln
  • greedy
  • Queue

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

[Java] 프로그래머스 : 문자열 내 p와 y의 개수

2022. 1. 31. 04:54

https://programmers.co.kr/learn/courses/30/lessons/12916

 

코딩테스트 연습 - 문자열 내 p와 y의 개수

대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를

programmers.co.kr

 

풀이

charAt()은 string 타응로 받은 문자열을 char 타입으로 한 글자만 받는 함수이다.
문자열의 개수를 세어주는 함수 countChar()을 새롭게 정의했다.
대문자와 소문자의 아스키코드 차이는 32라 -32를 해줬다.

class Solution {
    boolean solution(String s) {        
        return (countChar(s,'p') == countChar(s,'y')) ? true:false;
    }
    int countChar(String s, char c){
        int count = 0;
        for(int i =0; i<s.length();i++){
            if(s.charAt(i) == c||s.charAt(i)==(c-32))
                count++;
        }
        return count;
    }
}

다른사람풀이

일단 toUpperCase()나 toLowerCase()함수를 쓰면 아스키코드를 고민할필요가없었을텐데 왜 생각하지못했는지.
밑의 코드는 count 변수 하나만 사용한게 아이디어가 좋다고 생각해서 가져와봤다.

class Solution {
    boolean solution(String s) {
        s = s.toLowerCase();
        int count = 0;

        for (int i = 0; i < s.length(); i++) {
            if (s.charAt(i) == 'p')
                count++;
            else if (s.charAt(i) == 'y')
                count--;
        }

		return count == 0;
    }
}
저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 : 문자열 내림차순으로 배치하기 (feat. String <-> char[])  (0) 2022.01.31
[Java] 프로그래머스 : 서울에서 김서방 찾기  (0) 2022.01.31
[Java] 프로그래머스 : 가운데 글자 가져오기  (0) 2022.01.31
[Java] 프로그래머스 : 문자열 다루기 기본  (0) 2022.01.31
[Java] 프로그래머스 : 두 개 뽑아서 더하기  (0) 2022.01.31
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 : 문자열 내림차순으로 배치하기 (feat. String <-> char[])
    • [Java] 프로그래머스 : 서울에서 김서방 찾기
    • [Java] 프로그래머스 : 가운데 글자 가져오기
    • [Java] 프로그래머스 : 문자열 다루기 기본
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바