D81 520. 자본 감지
질문 링크
질문 분석
한 단어를 주어 대문자로 표기하는 방식이 올바른지 확인하세요.
Idea
주어진 단어가 모두 대문자이거나 모두 소문자인 경우 올바른 사용법입니다.
array_count_values의 결과와 모두 대문자 또는 모두 소문자를 포함하는 배열을 사용하여 차이 집합을 계산합니다. 결과가 빈 집합인 경우 모두 대문자 또는 모두 소문자를 의미합니다. 그냥 true를 직접 반환하세요.
모두 대문자, 모두 소문자를 제외하고 첫 글자만 대문자로 쓸 수 있고 나머지 글자는 소문자로 쓸 수 있습니다.
그래서 첫 번째 문자를 제외하고 나머지 문자가 모두 소문자인지 확인합니다. 판단방법은 기존과 동일합니다. (php 비디오 튜토리얼)
최종 코드
<?php class Solution { /** * @param String $word * @return Boolean */ function detectCapitalUse($word) { $wordArray = str_split($word); $uppercase = str_split('ABCDEFGHIJKLMNOPQRSTUVWXYZ'); $lowercase = str_split('abcdefghijklmnopqrstuvwxyz'); //all upper or lower case if(!array_diff_key(array_count_values($wordArray),array_flip($uppercase)) ||!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){ return true; } //first letter whatever case, //rest of the string must be all lowercase array_shift($wordArray); if(!array_diff_key(array_count_values($wordArray),array_flip($lowercase))){ return true; } return false; } }
위 내용은 Leetcode PHP题解--D81 520. 자본 감지의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!