목차 문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열 번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 풀이 처음에는 자바의 스트림에서 그렇듯 중복 제거 연산자가 있을 거라고 생각했다. 하지만 그렇지 않았고, 자바스크립트의 중복 제거는 Set 자료구조를 이용한다는 것을 배웠다. 문제 풀이 알고리즘은 다..
방금 알고리즘 문제를 풀다가 파이썬엔 무려 대칭차집합을 한 번에 찾아주는 연산이 있다는 사실에 충격을 받았다. 아무 생각도 없이 자바에서 푸는 것처럼 풀었다가 이게 웬걸.. 해서 문제를 하나하나 정리하기보단 집합과 관련된 연산을 정리하고 넘어가는 게 좋을 것 같아 여기에 글을 팠다. 설명할 내용은 이게 끝이고, 코드도 매우 짧지만, 강력하다. a = {2, 3, 5, 7, 9, 11} b = {1, 3, 5, 7, 9} a.add(13) a.update({17, 19}) a.remove(19) # 합집합 print(a | b) print(a.union(b)) # 교집합 print(a & b) print(a.intersection(b)) # 차집합 print(a - b) print(a.difference(..
문제 두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다. 수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오. 입력 첫째 줄부터 열 번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다. 출력 첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다. 풀이 갑자기 웬 중복값 제거..? 갸웃하면서 셋을 이용해 풀어봤다. 리스트를 이용해 푸는 방법보다 셋으로 간편하게 푸는 방법이 먼저 생각나서 하는 수 없었다. 조금 진도에서 벗어나지만 set()을 한 번..
문제 총 N개의 문자열로 이루어진 집합 S가 주어진다. 입력으로 주어지는 M개의 문자열 중에서 집합 S에 포함되어 있는 것이 총 몇 개인지 구하는 프로그램을 작성하시오. 입력 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어진다. 입력으로 주어지는 문자열은 알파벳 소문자로만 이루어져 있으며, 길이는 500을 넘지 않는다. 집합 S에 같은 문자열이 여러 번 주어지는 경우는 없다. 출력 첫째 줄에 M개의 문자열 중에 총 몇 개가 집합 S에 포함되어 있는지 출력한다. 풀이 지난번 문제와 마찬가지로 HashSet을 연습하라는 문제이다. N개의..
Set Set 인터페이스를 구현할 앞으로의 모든 Set 컬렉션 클래스는 다음과 같은 공통점을 갖는다. 데이터의 순서가 유지되지 않는다. 데이터의 중복 저장을 허용하지 않는다. Set 컬렉션에 속하는 클래스는 다음과 같다. HashSet TreeSet 또한, 위 클래스에서 공통으로 사용할 수 있는 메서드는 다음과 같다. 추가로, 앞서 살펴보았던 List 클래스와 마찬가지로 컬렉션 인터페이스의 메서드를 상속받아 사용한다. HashSet HashSet 클래스는 Set 클래스 중에 가장 많이 사용되는 클래스이다. Set 인터페이스를 물려받아 데이터의 순서가 유지되지 않고, 중복 저장을 허용하지 않는다. 해시 알고리즘(Hash Algorithm)을 사용하여 검색 속도가 매우 빠르다는 장점이 있으며, 내부적으로는 ..
- Total
- Today
- Yesterday
- java
- 동적계획법
- 칼이사
- 백준
- 면접 준비
- 세모
- 스프링
- 야경
- 자바
- Python
- 파이썬
- 기술면접
- RX100M5
- 남미
- 맛집
- 세계일주
- 리스트
- 스트림
- BOJ
- 유럽
- 지지
- 세계여행
- Algorithm
- spring
- 알고리즘
- a6000
- Backjoon
- 여행
- 유럽여행
- 중남미
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |