목록전체 글 (108)
모눈종이에 사각사각
"오버로딩과 오버라이딩의 차이가 무엇이죠?" 라고 물어오면 순간 당황한다. 분명히 알고 있는데, 내가 알고 있는 이 기능이 오버로딩인지, 오버라이딩인지 헷갈린다. 이 포스팅을 계기로 딱 기억하자. 오버로딩 -> 같은 이름, 다른 매개변수 오버라이딩 -> 상속, 재정의 🍀 오버 로딩 자바의 한 클래스 내에 같은 이름을 가진 메소드가 있더라도 매개변수의 개수 또는 타입이 다르면, 같은 이름을 사용해서 메소드를 정의하는 것이다. 매개변수가 다르면 이름이 같아도 서로 다른 메소드가 된다. 반면에 매개변수는 같지만 리턴타입이 다르면 오류가 발생한다. 또한 접근 제어자도 자유롭게 지정할 수 있지만, 접근 제어자만 다르다고 해서 오버로딩이 가능하지 않다. 상속의 관계에서도 오버로딩을 사용할 수 있다 오버로딩을 사용하..
백준 20056번 문제에 리스트가 연결되어 있을 경우가 전제되었다. 격자의 행과 열은 1번부터 N번까지 번호가 매겨져 있고, 1번 행은 N번과 연결되어 있고, 1번 열은 N번 열과 연결되어 있다. 이를 쉽게 구하는 방법은 다음과 같다. dx = [-1, -1, 0, 1, 1, 1, 0, -1] dy = [0, 1, 1, 1, 0, -1, -1, -1] nx, ny = (x+dx[d]*s)%N, (y+dy[d]*s)%N
🍎[백준 5547] 일루미네이션 문제링크 https://www.acmicpc.net/problem/5547 5547번: 일루미네이션 첫째 줄에 두 개의 정수 W와 H가 주어진다. (1 ≤ W, H ≤ 100) 다음 H줄에는 상근이네 집의 건물 배치가 주어진다. i+1줄에는 W개의 정수가 공백으로 구분되어 있다. j번째 (1 ≤ j ≤ w) 정수의 좌표는 www.acmicpc.net ⚾ 코드 import sys from collections import deque input = sys.stdin.readline m, n = map(int, input().split()) temp = [list(map(int, input().split())) for _ in range(n)] # 입력 받은 리스트의 위, 아래..
🍎[백준 15650] N과 M (2) 문제링크 https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ⚾ 코드 # 조합 직접 구현 from itertools import combinations n, m = map(int, input().split()) cnt = m numbers = list(range(1, n+1)) # res = [] def combination(pre, now, m): if len(now) < m or m == 0: return..
🍎[백준 15649] N과 M (1) 문제링크 https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net ⚾ 코드 # 순열 직접 구현 n, m = map(int, input().split()) cnt = m numbers = list(range(1, n+1)) res = [] def permutation(pre, now, m): if len(now) < m or m == 0: return pre for i in range(len(now)): pre.ap..
1. File -> Settings에 들어간다. 2. File Encodings에 들어간다. - Global Encoding, Project Encoding, Default encoding for properties files를 다 UTF-8로 바꾸어준다. - OK를 눌러 설정을 완료한다. 3. Help -> Edit Custom VM Options에 들어간다. 4. 사진에서 표시한 부분을 입력한 후 저장한다. 5. 잘 적용되었는지 확인한다. 나의 경우에는 적용되지 않아서 혹시 몰라 인텔리제이를 한 번 껐다 켰더니 잘 적용되었다. 설정 후에도 적용되지 않는 분들은 인텔리제이를 껐다 켜보면 좋을 것 같다.
🍎[백준 19637] 제목 문제링크 https://www.acmicpc.net/problem/19637 19637번: IF문 좀 대신 써줘 첫 번째 줄에는 칭호의 개수 N (1 ≤ N ≤ 105)과 칭호를 출력해야 하는 캐릭터들의 개수 M (1 ≤ M ≤ 105)이 빈칸을 사이에 두고 주어진다. (1 ≤ N, M ≤ 105) 두 번째 줄부터 N개의 줄에 각 칭 www.acmicpc.net ⚾ 코드 import sys input = sys.stdin.readline n, m = map(int, input().split()) tag = [] for _ in range(n): a, b = map(str, input().split()) tag.append((int(b), a)) users = [int(input..
import 문을 사용하면 클래스의 패키지 명을 생략할 수 있다. static import문을 사용하면 static 멤버를 호출할 때 클래스 이름을 생략할 수 있다. 특정 클래스의 static 멤버를 자주 사용할 때 편리하다. static import문 사용 전 System.out.println(Math.random()); static import문 사용 후 import static java.lang.Math.*; System.out.println(random()); 편리하긴 하지만, 잘못 사용할 경우 코드의 가독성을 상당히 떨어뜨릴 수 있다. 따라서 이름만 봐도 한 번에 알 수 있는 static멤버를 호출할 때 사용하면 좋을 것 같다.
이전 포스팅에 이어서 이제 마지막으로 S3 버킷을 삭제하며 프로젝트를 마무리한다. 1. S3를 검색해서 들어간다. 2. 삭제할 버킷을 선택하고 삭제를 누른다. 3. 그러면 버킷이 비어있지 않아 삭제할 수 없다고 나온다. 버킷을 비우기 위해 "버킷 비우기 구성"을 누른다. 4. 버킷 비우기 과정이 진행된다. "영구 삭제"를 입력하면 버킷을 비울 수 있다. 5. 종료를 눌러 버킷 비우기를 마무리한다. 6. 다시 한번 1번의 과정을 실시한다. 삭제할 버킷을 선택해 삭제를 누른다. 7. 버킷 이름을 입력하면 삭제할 수 있다.
지난 포스팅에서는 EC2를 삭제했다. 이번에는 RDS를 삭제하려고 한다. 1. RDS를 검색해서 들어간다. 2. 좌측 메뉴에서 데이터베이스를 누른다. 3. 삭제할 DB를 선택하고 작업>삭제를 누른다. 4. 프로젝트를 계속 하지 않을 것이므로, 최종 스냅샷 생성 여부는 선택하지 않았다. delete me 를 입력하면 삭제할 수 있다. 스냅샷도 삭제하려고 한다. 1. RDS 왼쪽 메뉴에서 스냅샷을 누른다. 2. 삭제할 스냅샷을 선택하고 작업>스냅샷 삭제를 누른다. 3. 삭제를 누른다.