[level 1] p와 y의 개수

2022. 1. 19. 10:34·알고리즘/JavaScript

문제

 

풀이 코드

function solution(s) {
  let sLower = s.toLowerCase().split('');
  let pCount = sLower.filter((item) => item === 'p').length;
  let yCount = sLower.filter((item) => item === 'y').length;

  return pCount === yCount;
}

 

풀이 과정

우선, 문자열내의 모든 요소를 소문자로 변경해주고 해당 문자열을 배열로 만들었다. ( toLowerCase, split )

그리고 나서 filter 함수를 통해 p 와 y 만 저장한 배열을 각각 생성하고, 해당 배열의 길이를 각각의 변수에 저장했다.

 

그리고 그냥 같은지 비교한 값을 반환시켰다

 

이거 제출하고 나서 생각한건데 변수의 쓰임세와 상수의 쓰임세를 각각 구분해서 사용하면 좋을 것 같다.

해당 코드에서 변수는 사실 필요없다.

 

모두 const 로 상수정의 하는게 바람직함

 

다른사람의 코드

// 1 번
function numPY(s){
    return s.toUpperCase().split("P").length === s.toUpperCase().split("Y").length;
}

// 2 번
function numPY(s) {
  return s.match(/p/ig).length == s.match(/y/ig).length;
}

1 번의 풀이처럼 한줄로 간단하게, 그리고 split 만으로 바로 구분해서 풀이할수가 있다. 이건 생각 못했다

 

2 번 풀이의 경우 댓글들을 보니 p 나 y 가 아예 없을경우, 오답이 발생한다고 나와있어서 정답은 아닌거 같지만 그럼에도 가져온 이유는

math 라는 함수를 처음보기 때문이다. math 라는 함수도 공부해 봐야 겠다

'알고리즘/JavaScript' 카테고리의 다른 글
  • [level 1] 문자열 내 마음대로 정렬하기
  • [level 1] 두 정수 사이의 합
  • [level 1] 문자열 내림차순으로 배치하기
  • [level 1] 서울에서 김서방 찾기
Jeohong
Jeohong
기억 보단 기록을
  • Jeohong
    Chikong Devlog
    Jeohong
  • 전체
    오늘
    어제
    • 분류 전체보기 (185)
      • ---- 개발 컨텐츠 ---- (0)
      • iOS (30)
        • Swift 문법 (1)
        • iOS 개념 (12)
        • HIG (5)
        • SwiftUI (7)
        • UIKit (4)
      • Side Project (0)
      • 개발서적 (4)
        • 객체지향 사실과 오해 (4)
      • 알고리즘 (73)
        • 자료구조 개념 (2)
        • Swift (24)
        • JavaScript (47)
      • ---- 회고 계획 컨텐츠 ---- (0)
      • 계획 및 일기 (10)
      • 회고록 (1)
      • 컨퍼런스 탐방 (1)
      • 미드로 영린이 탈출하기 (1)
      • ---- Previous content ---- (0)
      • Frontend (2)
        • HTML & CSS (2)
      • KITRI 수업 (17)
        • 리눅스 (14)
        • 네트워크 (2)
      • 42seoul (17)
        • Bonr2code (9)
        • 넋두리 (7)
        • 멘토특강 (1)
      • 해킹 실습 (20)
        • 해커스쿨 - F.T.Z (19)
        • WebGoat (1)
      • Tensorflow로 시작하는 NLP (1)
        • 예제 (1)
      • 자연어처리 입문 (1)
        • 이론 (1)
      • 텐서플로로 배우는 딥러닝 (7)
        • 이론 (2)
        • 예제 (5)
  • 블로그 메뉴

    • 홈
    • 태그
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    Algorithm
    IOS
    SwiftUI
    스위프트
    42서울
    hig
    프로그래머스
    본과정
    javascript
    백준
    개발자
    자료구조
    네트워크
    42seoul
    라피신
    1서클
    알고리즘
    코딩
    boj
    swift
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Jeohong
[level 1] p와 y의 개수
상단으로

티스토리툴바