전체 글 (197) 썸네일형 리스트형 [Python] 1783. 병든 나이트(실3) /그리디 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/1783 1783번: 병든 나이트 첫째 줄에 체스판의 세로 길이 N와 가로 길이 M이 주어진다. N과 M은 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 핵심 아이디어 https://lipcoder.tistory.com/94 병든 나이트 (백준 - 1783번) 그리디 알고리즘을 사용하는 문제였다. 우선 나이트의 모든 이동방법이 위, 아래 오른쪽으로 무조건 1칸 이상 움직이므로, 세로 길이가 1인 체스판의 경우에 나이트는 한번도 이동 할 수 없다. lipcoder.tistory.com 3. 코드 #1783. 병든나이트(실3) n,m= ma.. [이코테 파이썬] #01. 그리디 알고리즘 >>강의 #1. 모험가 길드 >내가 푼 풀이 group=[] cnt=0 n= int(input()) scared= list(map(int, input().split())) scared.sort() for i in scared: group.append(i) if len(group)==max(group): cnt+=1 group=[] print(cnt) > 답안 소스코드 # 답안 소스코드 n= int(input()) data= list(map(int, input().split())) data.sort() result=0 # 총 그룹의 수 count=0 #현재 그룹에 포함된 모함가의 수 for i in data: # 공포도를 낮은 것부터 확인 count+=1 # 현재 그룹에 해당 모험가 포함시키기 if cou.. [Python] 7570. 줄세우기(골3) / 그리디 목차 1. 문제 2. 핵심 아이디어 3. 코드 4. 배운 점 1. 문제 https://www.acmicpc.net/problem/7570 7570번: 줄 세우기 입력은 2 개의 줄로 이루어져 있다. 첫 줄에는 어린이 수를 나타내는 정수가 주어진다. 둘째 줄에는 처음에 줄서있는 어린이들의 번호가 차례대로 주어진다. 주어진 번호들 사이에는 공백이 하 www.acmicpc.net 2. 핵심 아이디어 처음에는 가장 긴 증가하는 수열만큼 아이들을 남기고 규칙에서 어긋나는 아이들만 재배치를 해주면 된다고 생각했다. 그래서 O(nlogn)으로 LIS 알고리즘을 구현해주었는데 틀렸다는 것을 보고 멘붕이 왔다. >>틀렸던 코드 import sys from bisect import bisect_left input = la.. [자바의 정석] ch12. Generics / enums / annotation 1. 지네릭스(Generics) 더보기 - 컴파일 시, 타입체크를 해주는 기능 => 타입안전성 상승 - 의도하지 않은 객체 저장 예방 - 잘못된 형변환 오류 예방 - 클래스와 메서드에 선언 가능 >>지네릭 클래스의 선언 :클래스를 작성할 때 Object 대신 T같은 타입변수를 사용 >>지네릭스 용어 => Box과 Box는 같은 클래스이다. => Box에 서로 다른 타입을 대입하여 호출한 것일 뿐 >>지네릭스 제한 - static 멤버에 T사용 불가 : 모든 객체에 대해 동일해야 하는데 변수가 다르기 때문 - 지네릭 타입의 배열 x => new T[10] ==> new 연산자는 컴파일 시점에 타입 T가 무엇인지 알아야 하는데 T가 어떤 타입이 될지 알수 없음 >>지네릭 클래스의 객체 생성과 사용 1) 참조.. [객체지향의 사실과 오해] ch3. 타입과 추상화 >>추상화 >> 추상화를 통한 복잡성 극복 추상화 : 현실에서 출발하되 불필요한 부분을 도려내가면서 사물의 놀라운 본질을 드러내는 과정 - 특정 절차나 물체를 의도적으로 생략하거나 감춤으로써 복잡도를 극복하는 방법 - 추상화의 수준, 이익, 가치는 목적에 의존적 >> 방법 2가지 1) 일반화 : 공통점을 취하고 차이점을 버림 2) 불필요한 세부사항을 제거 >>개념 : 객체를 분류하는 기준 - 공통점을 기반으로 객체들을 묶기 위한 그릇 => 개념을 기반으로 그룹으로 분류 => 개념 그룹 ∋ 개체 : 개체를 개념의 인스턴스라고 함 >> 개념의 3가지 관점 : 심볼 / 내연 / 외연 - 심볼 : 개념을 가리키는 간략한 이름이나 명칭 ex) 트럼프 - 내연 : 개념의 완전한 정의 / 내연의 의미를 이용해 객체가.. [자바의 정석] ch11-3.컬렉션 프레임워크 : HashMap/TreeMap / Collections 1. HashMap 더보기 - Map 인터페이스를 구현 - key와 value를 하나로 묶어서 하나의 데이터(entry)로 저장 - 순서를 유지하려면 LinkedHashMap클래스를 사용 => Entry라는 내부 클래스를 정의하고, Entry 타입의 배열을 선언하고 있음 비 객체지향적 객체지향적 코드 Object [] key; Object [] value; Entry [] table; class Entry{ Object key; Object value; } => (key, value) 를 (Object, Object)형태로 저장 >>메서드 - entry값 : entrySet => Set - key 값 : keySet => Set - value값 : values() =>Collection 반환 ex1) 같.. [객체지향의 사실과 오해] ch2. 이상한 나라의 객체 / 상태 -행동 -식별자 목차 1. 객체, 그리고 이상한 나라 2. 객체 : 상태+ 행동+식별자 3. 행동 초점의 객체 설계 : 행동이 상태를 결정한다 4. 소프트웨어는 현실의 모방이 아니다 : 의인화+은유 1. 객체, 그리고 이상한 나라 >> 앨리스 객체 - 앨리스의 상태(키)를 결정하는 것은 행동임 - 행동의 결과로 상태가 영향을 받음 - 행동의 성공여부(문을 열고 들어감)는 이전에 어떤 행동들이 발생했는지(음료, 케잌 등등)에 영향을 받음 요약 1) 앨리스는 상태를 가지며 상태는 변경가능하다 - 키/ 위치 등은 변경가능함 2) 앨리스의 상태를 변경시키는 것은 앨리스의 행동이다. - 행동의 결과는 상태에 의존하며 상태를 통해 서술가능하다 - 행동의 순서가 결과에 영향을 미친다. 3) 앨리스는 어떤 상태에 있더라도 유일하게 식.. [자바의 정석] 11-2.컬렉션 프레임워크 : iterator / Arrays / Comparator / Set 1.5 Iterator 더보기 - 컬렉션에 저장된 요소 접근에 사용 - iterator() : iterator 반환 메소드 - 컬렉션에 정의=> 자손인 List/Set에도 호출 가능 - List : 순서가 저장됨 - Set : 순서가 저장x - Map은 직접호출 불가 => EntrySet이나 keySet로 collection 얻어온 후, 호출 가능 >>메서드 ex) package ch11; import java.util.*; public class IteratorEx1 { public static void main(String[] args) { ArrayList list = new ArrayList(); list.add("1"); list.add("2"); list.add("3"); list.add("4.. 이전 1 ··· 6 7 8 9 10 11 12 ··· 25 다음