회문 문구

R-Blogger · 블로그·해설 · 2023-10-18

R-Blogger블로그·해설한국어2023-10-18

회문 문구

Excel BI의 Excel Challenge #307 – R로 해결하기 오늘 ExcelBI가 숫자 대신 문자열 조작을 요구하는 퍼즐을 내주었습니다. ExcelBI Challenge #307에 제출할 답은 모든 “회문(Palindromic) 구문”을 나열하는 것입니다. 회문 구문 정의 회문 구문은 앞에서부터 읽으나 뒤에서부터 읽으나 동일한 문자열입니다. 공백, 구두점, 대소문자 차이는 무시합니다. 예를 들어 “Able was I ere I saw Elba”는 회문입니다. 문제 해결 로직 (R 예시) # 입력: 문자열 벡터 phrases <- c("Able was I ere I saw Elba", "Hello World", "Madam In Eden, I’m Adam") # 문자열 정리: 공백, 구두점 제거 및 소문자 변환 clean_str <- function(s) { s <- gsub("[[:punct:]]", "", s) # 구두점 삭제 s <- gsub("\\s+", "", s) # 공백 삭제 tolower(s) # 소문자 변환 } # 회문 여부 검사 is_palindrome <- function(s) { s_clean <- clean_str(s) s_clean == rev(strsplit(s_clean, "")[[1]]) %>% paste0(collapse = "") } # 회문 구문 필터링 palindromic_phrases <- phrases[sapply(phrases, is_palindrome)] print(palindromic_phrases) 결과 예시 Able was I ere I saw Elba Madam In Eden, I’m Adam 위와 같은 방식으로 모든 회문 구문을 추출할 수 있습니다. 제출 시, 제출 페이지에 결과를 업로드해 주세요.
원문 URL
전체 글은 원문 페이지에서 이어서 읽을 수 있습니다.
원문에서 전체 글 읽기
작성자
R-Blogger
출처
R-Blogger
플랫폼
R-Blogger
분류
블로그·해설
언어
한국어
발행일
2023-10-18