목록Java (13)
집 짓는 개발블로그
최근에 어떤 시험에서 호되게 당해서ㅎㅎ 코드를 정리해둔다. 1) 1, 3, 5가 쓰여진 카드를 각각 rone, rthree, rfive장씩 갖고 있는 상황에서 2) m장의 카드를 뽑아 옆으로 이어붙인다. ex) m==3일 때 3장을 뽑으면 135, 531, 553, 555, 113, 131, ... 이런 수들이 나온다.3) 이 중 최댓값을 리턴한다. import java.util.Scanner;public class TexasHoldemMaxNumber { static int[] cards = {1, 3, 5}; // 카드 종류 static int[] cardCount = {rone, rthree, rfive}; // 각 카드의 남은 장수 static int maxValue = 0; /..
자바 기술질문 중에 가장 흔한 추상메서드와 인터페이스의 차이에 대해 알아본다.면접 앞두고는 3번만 보면 될 거 같음 1. 추상 클래스 (Abstract Class) • 정의: 추상 클래스는 abstract 키워드로 선언되며, 일부 메서드는 구현되고 일부는 구현되지 않을 수 있습니다. • 용도: 클래스 간의 공통 기능을 정의하고, 이를 상속받는 하위 클래스가 세부 구현을 완성하도록 강제합니다. • 특징: • 일반 메서드와 추상 메서드를 모두 가질 수 있음. • 상태(멤버 변수)를 가질 수 있음. • extends를 통해 한 클래스만 상속 가능. • 생성자를 가질 수 있음. 예시 코드:abstract class Animal { String name; Animal(String name) { ..
Python에서 지역변수와 전역변수 Python에서는 함수 내부에서 변수를 선언하면 기본적으로 지역변수로 간주된다.반대로 함수 외부에서 선언된 변수는 전역변수다.전역변수를 함수 내부에서 수정하려면 global 키워드를 사용해야 함 예시 코드# 전역변수x = 10def func(): # 지역변수 y = 20 print("y:", y) # 출력: y: 20 print("x:", x) # 출력: x: 10def modify_global(): global x x = 30 # 전역변수 x를 수정func()print("전역변수 x:", x) # 출력: 전역변수 x: 10modify_global()print("수정된 전역변수 x:", x) # 출력: 수정된 전역변수 x: 30..
파이썬의 combinations, permutations를 자바에서는 사용할 수 없기 때문에 알아둬야 한다.재귀를 이용한다. 1. 순열2024.11.20 - [Java] - (Java) 순열, 중복순열 만들기 (Java) 순열, 중복순열 만들기최근에 어떤 시험에서 호되게 당해서ㅎㅎ 코드를 정리해둔다. 1) 1, 3, 5가 쓰여진 카드를 각각 rone, rthree, rfive장씩 갖고 있는 상황에서 2) m장의 카드를 뽑아 옆으로 이어붙인다. ex) m==3일 때 3장comeseemycode.tistory.com 2. 조합
반올림, 올림, 절댓값(Math.abs()), min, max와 같은 메소드들은 import java.lang.Math; 해야 사용 가능하다. Math.min(), Math.max()는 두 인수들만 비교할 수 있다. ArrayList나 배열의 최댓값/최솟값을 찾으려면 다른 방법을 사용해야 한다. 아래 정리했다. 1-1. 10진수를 다른 진수로 변환하기(2, 8, 16)int number = 42;String binary = Integer.toBinaryString(number); // 2진수 변환String octal = Integer.toOctalString(number); // 8진수 변환String hex = Integer.toHexString(number); // 16진수 변환Sy..
마찬가지로, 일단 가장 흔히 쓰이는 함수부터 정리한다. 요즘 트렌드인지 뭔지 알고리즘보다도 복잡한 문자열 처리 문제를 하나씩 끼워 내는 데가 있어서,, 문자열이 연습문제 풀이가 가장 중요한 부분 같다. 진짜 문자열 자르고 붙이고 하다가 시간 끝나는 문제들 1. length(): 문자열의 길이를 반환 2. charAt(int index): 특정 위치에 있는 문자를 반환 3. substring(int beginIndex) / substring(int beginIndex, int endIndex): 부분 문자열을 추출 4. equals(Object anObject): 문자열의 내용이 같은지 비교 5. equalsIgnoreCase(String anotherString): 대소문자 무시하고 비교 6. comp..
일단 간단하게 가장 많이 쓰이는 함수 10개씩만 정리한다. 1. HashSet 1. add(E e): 지정한 요소를 HashSet에 추가, 이미 존재하는 경우 추가되지 않음 2. addAll(Collection c): 지정한 컬렉션의 모든 요소를 HashSet에 추가 3. remove(Object o): 지정한 요소를 HashSet에서 제거, 요소가 없으면 변경되지 않음 4. clear(): 모든 요소를 HashSet에서 제거 5. contains(Object o): 지정한 요소가 HashSet에 포함되어 있는지 확인. 6. isEmpty(): HashSet이 비어 있는지 여부를 확인 7. size(): HashSet의 요소 개수를 반환 8. iterator(): HashSet의 요소를 순회할 수 있..
파이썬에는 Array와 List가 구분되어있지 않기 때문에 가장 생소하게 느껴질 수 있다.사실상 코테 언어 바꿀 때 가장 문제가 되는 지점이 여기 같다. 자잘한 메소드야 외우면 그만인데, 자바에서는 어떤 타이밍에 리스트를 쓰고 어떤 타이밍에 배열을 써야하는지 빠르게 판단해야 하는 과제가 하나 더 얹어지는 느낌이다.실제 시험에서는 무조건 리스트로 처리하다가 문제가 배열로 리턴하라고 할 때만 바꾸면 그만인 건가?(? 해봐야 알듯) 리스트와 달리 배열은 크기 변경이 불가능하기 때문에 제약이 많다. 0. 알아둘 것배열 안에 배열 들어갈 수 있다. 이차원 배열배열 안에 ArrayList도 들어갈 수 있다. 반대로 ArrayList 안에 배열 들어가는 것도 가능하다. // 2차원 배열int[][] array = {..
ArrayList에 대해 속속들이 알아보는 시간^^ 파이썬에서는 리스트 안에 여러 자료형을 막 담아서 자유롭게 쓸 수 있지만 자바에서는 자료형은 무조건 한 가지만 가능하다.(사실 이게 기본) 1. 원소 추가(add)ArrayList list = new ArrayList();list.add("element"); // 맨 뒤에 원소 추가list.add(1, "element"); // 인덱스 1 위치에 원소 삽입 2. 원소 삭제(remove)list.remove("element"); // "element"라는 값을 가진 첫 번째 원소 삭제list.remove(1); // 인덱스 1의 원소 삭제 3. 맨 앞이나 맨 뒤 원소 확인 (Stack이나 Queue 역할) : 리스트이름.get(원하는 인덱스) 하면 원..
가장 먼저 외워야 하는 건 문자열 처리 함수들과 Integer int, String Integer/int, Array ArrayList, HashSet, HashMap 변환 및 사용법 + int[] Integer[]그 다음으로는 Arrays, ArrayList, HashMap, HashSet의 메소드들을 본다. 정렬이나 인덱싱 등추가적으로, 파이썬에서 사용할 수 있는 조합과 순열도 자바에서는 직접 구현해야 하기 때문에 코드를 외워둬야 한다. IDE처럼 쓰고 싶은 거 무작정 치면 알아서 import해주지 않을 확률이 높기 때문에,import java.util.*; 쓰고 시작하는 게 나은 것 같다. 0. int ↔︎ Integer 이거 헷갈리면 죽음뿐 int -> Integer (boxing)이..