-
백준 1152번 단어의 개수(Python, Java)Baekjoon 2020. 1. 15. 16:12728x90반응형
https://www.acmicpc.net/problem/1152
문제를 보자마자 너무 쉽다고 생각을 했고, 단순히 공백문자만 처리를 잘 해주면 될 것 같아서 바로 풀기를 시작했다.
근데 나중에 더 쉬운 방법이 있을까 하고 검색을 해보다 보니 내가 정말 멍청하다는 것을 깨달았다.
1. 단어의 개수 with 파이썬
123456789101112name = input()l = list(name.split(" "))count = 0for i in range(len(l)):if l[0] == "":del l[0]elif l[len(l)-1] == "":del l[len(l)-1]print(len(l))나도 이렇게 풀이를 길게 풀었다. split 함수는 ( ) 안에 자기가 원하는 기준으로 문자열을 나눌 때 쓰는 함수이다. 괄호 안에 아무것도 없다면 공백을 기준으로 나누게 된다. 하지만 나는 좀 충격받았다. 왜냐하면
1234n = input().split()print(n)print(len(n))이렇게 3줄이면 문제를 풀 수 있다는 것이다. 처음에 이게 가능한가? 생각하고 코드를 보았다. 근데 생각해보면 split 이 공백을 기준으로 문자열을 나누는 함수이다. 입력을 받을 때도 공백을 기준으로 단어를 나누기 때문에 저렇게만 하면 되는 것이다. 소름..
2. 단어 공부 with Java
123456789101112131415161718192021import java.util.Scanner;public class Word {public static void main(String[] args) {Scanner input = new Scanner(System.in);String s = input.nextLine();String[] p = s.split(" ");int count = 0;for (int i = 0; i < p.length; ++i) {if (p[i].equals("")) {continue;}else {count++;}}System.out.println(count);}}String 을 비교할 때 계속 == 을 사용해서 안되길래 도대체 왜 안되는건가 해서 시간이 좀 오래걸렸다. 근데 String 비교는 equals 를 사용해야 한다고 해서 적용하니 바로 맞았다. 그리고 하나 더 시간이 걸렸던건 공백을 "" 로 하냐 " " 로 하는거의 문제였는데 "" 이것으로 하니 정답이 된다.
반응형'Baekjoon' 카테고리의 다른 글
백준 뒤집힌 덧셈 1357번(Python, Java) (0) 2020.01.17 백준 베스트셀러 1302번(Python, Java) (0) 2020.01.15 백준 1157번 단어공부(Python, Java) (0) 2020.01.15 백준 1929번 소수구하기(Python, Java) (0) 2020.01.15 백준 10814번 나이순정렬(python) (0) 2020.01.14