분류 전체보기
-
백준 뒤집힌 덧셈 1357번(Python, Java)Baekjoon 2020. 1. 17. 20:59
https://www.acmicpc.net/problem/1357 1357번: 뒤집힌 덧셈 어떤 수 X가 주어졌을 때, X의 모든 자리수가 역순이 된 수를 얻을 수 있다. Rev(X)를 X의 모든 자리수를 역순으로 만드는 함수라고 하자. 예를 들어, X=123일 때, Rev(X) = 321이다. 그리고, X=100일 때, Rev(X) = 1이다. 두 양의 정수 X와 Y가 주어졌을 때, Rev(Rev(X) + Rev(Y))를 구하는 프로그램을 작성하시오 www.acmicpc.net 문제를 처음 봤을 때는 파이썬으로 바로 풀 수 있을 것 같은데, 자바로는 쉽지 않겠다 라고 느끼면 문제를 풀었다. 풀이 : 입력을 문자열로 받은 뒤에 자리수마다 짜른 후에 거꾸로 저장을 하고 다시 int 로 형 변환 해서 덧셈을..
-
[JAVA] next(), nextLine() 의 차이Language/Java 2020. 1. 16. 20:14
나는 지금까지 next()와 nextLine()의 차이는 단순히 한 줄을 전부 입력받고 싶을 때(한 문장을 입력한다던지)는 nextLine()을 사용하고 한 단어씩 입력하고자 할 때는 next()를 사용한다 정도의 가볍게 알고있었다. 하지만 약간의 차이점은 존재했고 주의사항을 확실하게 짚고 넘어가고자 한다. next(), nextLine()는 Scanner 클래스의 메소드이다. 공통점은 둘다 문자열로 반환을 시켜준다는 점이고 차이점은 개행문자를 무시하냐 안하냐의 차이라고 할 수 있다. 메소드 참고 1. 입출력시 주의사항 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 import java.util.Scanner; public class Test { publ..
-
힙 정렬(Heap sort) 란?Computer Science/Data_Structure 2020. 1. 16. 03:10
힙 정렬(Heap sort) 힙 정렬은 최대 힙을 이용하면 가능하다. 예전에 힙(heap) 관련 글을 썼던 내용과 같이 보면 된다. https://devlog-wjdrbs96.tistory.com/43?category=824010 힙(heap) 이란 ? https://gmlwjd9405.github.io/2018/05/10/data-structure-heap.html [자료구조] 힙(heap)이란 - Heee's Development Blog Step by step goes a long way. gmlwjd9405.github.io 그림같은 자료를 가져다 쓴 곳입니.. devlog-wjdrbs96.tistory.com [5, 4, 2, 1, 7, 3, 9, 6, 3, 2] 배열이 존재한다고 가정할 때 데..
-
백준 베스트셀러 1302번(Python, Java)Baekjoon 2020. 1. 15. 21:09
https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net 문제를 보자마자 이건 쉬울 것 같은데? 라고 생각했지만 쉽지 않았던 문제이다. ㅜㅠ 결국 풀지 못했다. 뭔가 알겠는데 파이썬과 자바가 살짝 어색해서 그런가 구현이 쉽게 되지 않았다. 1. 베스트 셀러 with Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 books = {} for _ in range(i..
-
백준 1157번 단어공부(Python, Java)Baekjoon 2020. 1. 15. 18:07
https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 이 문제를 처음 봤을 때 가장 먼저 떠오른 방법은 key, value를 이용하거나 아니면 그냥 리스트 2개를 만들어서 하나는 알파벳 count 용, 알파벳 저장용으로 만들어서 풀면 되겠다는 생각을 했다. 다행히 좀 비효율적인거 같지만 맞긴 맞았다. 1. 단어 공부 with Python 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 name = input() name = ..
-
백준 1152번 단어의 개수(Python, Java)Baekjoon 2020. 1. 15. 16:12
https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다. www.acmicpc.net 문제를 보자마자 너무 쉽다고 생각을 했고, 단순히 공백문자만 처리를 잘 해주면 될 것 같아서 바로 풀기를 시작했다. 근데 나중에 더 쉬운 방법이 있을까 하고 검색을 해보다 보니 내가 정말 멍청하다는 것을 깨달았다. 1. 단어의 개수 with 파이썬 1 2 3 4 5 6 7 8 9 10 11 12 name = input() l = list(name...
-
백준 1929번 소수구하기(Python, Java)Baekjoon 2020. 1. 15. 16:09
https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) www.acmicpc.net 문제를 보자마자 바로 풀이가 떠올라고 구현을 시작하였다. 그런데? 소수를 구하는 방법에서 내가 효율적인 풀이방법이 떠오른 것은 아니고 그냥 일반적인 풀이를 떠올렸다. 그런데 시간초과가 뜬다. 뭐 고민을 해보다 구글링을 하였다. 구글링을 해보다 알게 된 사실은 소수판별은 해당 수의 제곱근까지만 나눠보면 된다는 것이다. n, m 사이의 소수구하는 팁 k의 소수를 구하기 위해, 2부터 k/2까지 나눴을때 나누어지는 숫자가 존재하지 않으면 소수이다. k의 약수는 k/2보다 클수가 없으므로! ..
-
백준 10814번 나이순정렬(python)Baekjoon 2020. 1. 14. 16:27
https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 작성하시오. www.acmicpc.net 문제를 보자마자 되게 쉬울거 같다고 생각하고 바로 풀기 시작했다. 그냥 나이를 sort() 시키면 끝이네? 라고 생각 했지만 이렇게 문제를 풀면 내가 생각한 테스트케이스를 통과하지 못한다. 그것은 나이가 같은 사람이 입력되었을 때이다. 나이가 같으면 입력 순서대로 나와야하지만 순서대로 나오지 않아서 처음에 틀렸다. 그래서 알고리즘 문제에 익숙하지 않은 나는 그냥 버블정렬 비슷하게 이용해서 ..