[백준] 1152번 : 단어의 개수 (🥉브론즈 2) (Python)

2023. 1. 21. 00:37·◼ PS Note/백준
반응형

문제 바로 가기

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

 


풀이 1

  • 사용 언어 : Python
  • 풀이한 날짜 : 2022-03-05
string = input()
length = len(string)

cnt = 1
for i, elem in enumerate(string):
    if elem == " ":
        cnt += 1

        if i == 0 or i == (length - 1):
            cnt -= 1

if length == 0:
    cnt = 0
if length == 1 and string[0] == " ":
    cnt = 0

print(cnt)

 

풀이 로직

  • 공백의 개수는 (단어의 개수) - 1 이다. 따라서 공백의 개수를 세면 단어의 개수를 O(1) 내에 구할 수 있다.
  • 만일 공백이 시작이나 끝에 주어진 경우라면, 구한 개수에 1을 뺀다.
  • 반례 후보 입력값 : 문자열 길이가 0이나 1인 다음의 경우
    • "", " ", "a",

 

문제 접근 과정 및 느낀점

  • 풀이는 간단하여 금방 생각해냈으나, 진짜 문제는 예외 처리였다. 맞왜틀 하면서 대부분의 시간을 소요..

 


풀이 2 (모범 답안 참고)

답안 출처

  • 사용 언어 : Python
  • 풀이한 날짜 : 2022-03-05
print(len(input().split()))

 

풀이 로직

  • 사실 그냥 입력 받은 문자열을 공백 단위로 잘라 리스트로 저장하고 그 요소 개수를 구하면 한 줄에 풀릴 문제였다.

 

느낀 점

  • 이렇게나 단순하게 풀 수 있었던 문제였는데 왜 이런 생각을 못했을까..
  • input().split()을 입력 받을 때만 주구장창 써서 그랬는지 해당 코드의 의미가 내 머릿속에서 옅어졌던 것 같다.

 

반응형

'◼ PS Note > 백준' 카테고리의 다른 글

[백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)  (2) 2023.01.21
[백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)  (0) 2023.01.21
[백준] 1978번 : 소수 찾기 (🥈실버 4) (Python)  (2) 2023.01.21
[백준] 1748번 : 수 이어 쓰기 1 (🥈실버 3) (Python)  (2) 2023.01.21
[백준] 1316번 : 그룹 단어 체커 (🥈실버 5) (Python)  (0) 2023.01.21
'◼ PS Note/백준' 카테고리의 다른 글
  • [백준] 2738번 : 행렬 덧셈 (🥉브론즈 5) (JavaScript)
  • [백준] 1085번 : 직사각형에서 탈출 (🥉브론즈 3) (Python)
  • [백준] 1978번 : 소수 찾기 (🥈실버 4) (Python)
  • [백준] 1748번 : 수 이어 쓰기 1 (🥈실버 3) (Python)
SangYoonLee (SYL)
SangYoonLee (SYL)
Slow, But Steady Wins The Race 😎
    반응형
  • SangYoonLee (SYL)
    ◆ Slow, But Steady ◆
    SangYoonLee (SYL)
  • 전체
    오늘
    어제
    • ◻ 전체 글 수 : (132)
      • ✪ 취미, 경험 회고 및 일상 (26)
        • [취미] Room Escape (2)
        • [회고] IT 관련 경험 회고 (18)
        • [일상] 일상 생각 (4)
        • [일상] 독후감 (1)
      • ◼ FrontEnd (30)
        • Web & HTML, CSS (9)
        • JavaScript (4)
        • TypeScript (1)
        • ReactJS (16)
      • ◼ CS (3)
        • 자료구조 & 알고리즘 (1)
        • 컴퓨터 구조 (1)
        • 운영체제 (1)
      • ◼ PS Note (40)
        • 백준 (38)
        • 프로그래머스 (2)
      • ◼ IT Etc. (33)
        • (Until 2021) (21)
        • Python (6)
        • C | C# | C++ (1)
        • Git (1)
        • Unity (4)
        • Game Dev. (0)
  • 블로그 메뉴

    • 홈
    • 💻 GitHub
    • 🟢 Velog
    • 🧩 온라인 방탈출 출시 작품 모음
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    방탈출고사
    알고리즘
    백준
    더라비린스
    pygame
    소수 구하기
    파이썬
    프로젝트
    위코드
    개인 프로젝트
    JavaScript
    코드숨
    리엑트
    관심사의 분리
    유니티
    C++
    후기
    주간 회고
    미궁 게임
    Component
    회고
    wecode
    코딩 일기
    CodeSoom
    React
    프로그래머스
    1929
    unity
    Cpp
    Python
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SangYoonLee (SYL)
[백준] 1152번 : 단어의 개수 (🥉브론즈 2) (Python)
상단으로

티스토리툴바