본문 바로가기

728x90

전체 글

스파르타 코딩 클럽 3주차 5일 [객체지향 문제] 1. 계산기 문제 1. 위 Calculator 클래스를 상속하는 UpgradeCalculator를 만든다. 요구사항 빼기기능 구현, 메서드 명 minus 2. 위 Calculator클래스를 활용해서, 멤버 필드인 value의 크기 제한이 있는 MaxLimitCalculator클래스 만들기 요구사항 멤버 필드 value의 크기가 100보다 큰 값은 가질 수 없다. 3. 위 Calculator클래스에서 짝수인지, 홀수인지 판별해주는 메서드 추가 요구사항 짝수 홀수 판별 메서드 : isOdd 홀수이면 true 반환, 짝수이면 false 반환 4. 위 Calculator클래스에서 평균값 구하는 메서드 추가 요구사항 정수의 리스트 입력시, 입력받은 리스트의 평균값을 반환하는 avg 메서드 구현 .. 더보기
스파르타 코딩 클럽 3주차 4일 [알고리즘] 1레벨 프로그래머스 k번째수 import java.util.Arrays; class Solution { public int[] solution(int[] array, int[][] commands) { int[] answer = new int[commands.length]; // System.out.println(commands.length); for(int i=0;i System.out.println(x)); // 아랫줄과 같은 역할임 cities.forEach(System.out::println); } } 더보기
스파르타 코딩 클럽 3주차 3일 예외처리 예외처리는 자바에서 Throwable이라고 하고 Error랑 Exception으로 나뉜다. Error는 동작 자체가 멈추는것이고 Exception은 동작자체는 멈추지 않고, 다른동작을 실행하거나 유저에게 알려주는 역할을 한다. Try-catch 형식 import java.util.Arrays; public class Main { public static void main(String[] args) { int number =10; int result; for (int i=10;i>=0;i--) { try{ result= number/i; System.out.println(result); } catch (Exception e) { System.out.println("Exception occure"+.. 더보기
스파르타 코딩 클럽 3주차 2일 클래스 설계시 고려사항 1. CRC Card Layout 를 작성한다. 2. 역할 책임 관계를 명확히 설계한다. 추상 클래스와 추상 메소드와 this abstract class Bird { private int x, y, z; void fly(int x, int y, int z) { printLocation(); System.out.println("이동합니다."); // this는 class내부에 있는 변수와 인스턴스 내부에 있는 변수를 구분하기 위해 사용 this.x = x; this.y = y; if (flyable(z)) { this.z = z; } else { System.out.println("그 높이로는 날 수 없습니다"); } printLocation(); } abstract boolean .. 더보기
스파르타 코딩 클럽 3주차 1일 Array와 list , ArrayList 차이 Array : 데이터 조회 : 빠름 삽입,삭제 : 느림 인덱스가 존재, 정해진 공간에 할당 List : 데이터 조회 : 느림 삽입, 삭제 : 빠름 인덱스가없음, 요소가 추가 될때 마다 공간 할당 ArrayList는 Array와 List장점을 합친것이다. index가 있지만, 크기를 동적으로 할당 가능 ArrayList를 좀더 범용적으로 할당 방법 List list = new ArrayList(); -> 도형 list = new 정사각형(); ArrayList list = new ArrayList(); -> 정사각형 list = new 정사각형(); 클래스는 하나당 원래는 파일하나를 생성하는것이 원칙이다. 클래스 상속 class Animal { String .. 더보기
스파르타 코딩 클럽 2주차 후기 2주차에서는 CS특강과 알고리즘 특강 및 알고리즘 숙제, 각종 파이썬 기술들에 대해서 배웠다. 2주차까지 나는 홈페이지도 여러개를 인용해서 만들어보았고, 파이썬도 해보았고, 여러가지 해봤는데, 내가 제일 재밌어 하는것은 알고리즘을 공부하고 처음부터 짜본다음에 정답을 맞추는것 자체에서 큰 흥미를 느끼는 것 같다. 특히 특정자료구조는 삽입 삭제가 빠르고 다른 특정자료구조는 조회가 빠르다는 장점을 가지고 있어서 자료구조를 쓴다는데 이부분도 많이 흥미롭다. 근데 알고리즘 진도가 너무 빨라서 천천히라도, 따라가야 될것같다. 다음주에는 좀더 열심히해서 진도를 빨리 따라잡아야 될것 같다. 더보기
스파르타 코딩클럽 2주차 5일 최대값, 최빈값, 소수, 중복되지 않는값, 모든숫자를 같게 만드는 최소의 갯수의 알고리즘을 자바로 풀어보았다. 특히 소수의 알고리즘은 에라토스테네스의 체를 이용하면 구현이 쉽고 시간 복잡도 상에서 유리하다고 한다. 꼭한번 풀어봐야겠다. import java.util.ArrayList; import java.util.List; public class main { static int[] input = new int[] {3,5,6,1,2,4}; static String name ="hello my name is sparta"; static void find_max_char(String name) { int[] val =new int[26]; for(int i=0; i 더보기
스파르타 코딩 클럽 2주차 4일 클래스 정리 인스턴스 : 클래스에 따라 하나의 객체를 생성하는것 예를들어, 몬스터 한마리, 자동차 한개, 주인공 하나 클래스 : 예를들어 자동차나 게임 전체 메소드 : 클래스의 기능(클래스의 함수) # 클래스 생성 class Monster(): hp =100 alive = True def damage(self,attack): self.hp = self.hp - attack if(self.hp20: return '성인' else: return '청소년' result = map(check_adult,people) print(list(result)) def check_adult2(person): return '성인' if person['age']>20 else '청소년' result2 = map(check_a.. 더보기

728x90