J o e
JoE's StOrY
J o e
  • 분류 전체보기 (206)
    • workSpace (184)
      • 도메인 지식 (2)
      • ALGORITHM (39)
      • ANDROID (3)
      • JS (0)
      • JAVA (21)
      • MYSQL (6)
      • NETWORK (3)
      • PYTHON (91)
      • LINUX (9)
      • PROJECT (4)
    • Others (20)
      • Opic (1)
      • myLife (17)
      • popSong (1)
      • 정보처리기사 (1)
    • 훈빠의 특강 (0)
      • opencv (0)
      • python (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • The code with long statements is⋯
  • 매일 매일이 행복하고 밝은 날이 될거에요

인기 글

태그

  • 단어의 개수
  • 파이썬
  • 넘파이 문제
  • 태블릿 연동
  • 이미지 연산
  • How to create a GUI in Java with JFrame?
  • Fully Connected Network
  • sort_index
  • sort_value
  • ㅖ43
  • java
  • DTO
  • MySQL
  • linearclassification
  • numpy
  • full loss
  • Python
  • 넘파이함수
  • dao
  • read_html

최근 댓글

최근 글

티스토리

J o e

WHY?

[구두법 고침이]
workSpace/ALGORITHM

[구두법 고침이]

2021. 2. 2. 08:40

[문제]

가끔 몇몇 작가들은 강조를 하기 위해서 과도하게 느낌표를 남발한다. 느낌표와 물음표를 섞어서 놀라움을 표시하는 경우도 있다. 예를 들자면 "정말 그렇게 생각해요??!!".

출판을 하려면 이런 식의 과도한 느낌표와 물음표의 남발을 고쳐야 된다. 만약 느낌표가 연속으로 여러 개가 사용 되었다면 한 개의 느낌표로 바꾸고, 느낌표와 물음표가 섞여있다면 하나의 물음표로 바꿔야 한다. 이렇게 고쳐진 문자열을 리턴하시오.

풀이 1) - java

더보기
public class Solution{
    public String solution(String document){
        // replaceAll 함수로 원하는 문자로 문자열 치환
        return document.replaceAll("[?!]*\\?[?!]*", "?").replaceAll("!+", "!");
    }
}

풀이 2) - python

더보기
class Solution:
    def solution(self, document):
        
        document=list(document)
        for idx, s in enumerate(document):
            if s=="!":
                if idx+1<len(document) and (document[idx+1]=="!" or document[idx+1]=="?"):
                    document[idx]=""
            elif s=="?":
                if idx+1<len(document) and (document[idx+1]=="!" or document[idx+1]=="?"):
                    document[idx]=""
                    document[idx+1]="?"
        
        return "".join(document)

풀이 3) - javaScript

더보기
function solution(doc){
  let res = doc;
  while(has(res)){
    res = a(res);
  }
  return res;
}
 
function a(doc){
  doc = doc.replace('!!','!');
  doc = doc.replace('!?','?');
  doc = doc.replace('?!','?');
  doc = doc.replace('??','?');
  return doc;
}
 
function has(doc){
  if(doc.includes('!!') || doc.includes('!?') || doc.includes('?!') || doc.includes('??')){
    return true;
  } else {
    return false;
  }
}

'workSpace > ALGORITHM' 카테고리의 다른 글

[올림픽 양초]  (2) 2021.02.02
[참과 거짓]  (0) 2021.02.02
[막대]  (0) 2021.02.02
[기념품 행사]  (0) 2021.02.02
[가방 퀴즈]  (0) 2021.02.02
    'workSpace/ALGORITHM' 카테고리의 다른 글
    • [올림픽 양초]
    • [참과 거짓]
    • [막대]
    • [기념품 행사]
    J o e
    J o e
    나의 과거를 기록합니다.

    티스토리툴바