분류 전체보기

·Algorithm (PS)
이번 문제는 구현하기 좀 까다로웠다 !! 2차원 배열을 제대로 연습할 수 있는 징한 구현문제이다 https://www.acmicpc.net/problem/1451 1451번: 직사각형으로 나누기 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 50보다 작거나 같은 자연수이 www.acmicpc.net 1. 직사각형을 나누는 방법은 총 6개다 1) 세로로 3분할 2) 가로로 3분할 이렇게 6가지이다. 3) 전체 세로분할 후 가로분할 4) 전체 세로분할 후(R1, R3), 가로분할(R2) 5) 전체 가로분할 후(R1), 세로분할 (R2,R3) 6) 전체 가로분할 후 (R1, R2), 세로분..
코딩 문제 풀 때 굉장히 알아두면 유용한! 문자열을 다룰 때 쓰이는 join 함수 1. 형태 string.join(iterable) 여기서 string 에 들어가는 문자열은 구분자이다. 물론 "".join(iterable) 이렇게 빈 문자열을 붙일 수도 있다. 2. 예시 i) 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("".join(myNumber)) ii) 공백 문자를 사이에 두고 문자열 리스트를 하나로 합치기 myNumber = ['1','2','3','4','5'] print("_".join(myNumber)) myStr = ["Hello", "My", "Name", "is", "Minjee"] print("!!!!!!".join(myStr)..
·Algorithm (PS)
https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 재미있는 그래프 문제 !! 사실 처음에는 itertools의 permutations 함수를 사용해서 연산자들의 조합을 n-1개 모두 고르는 순열 리스트를 for문으로 돌리려고 했으나 시간초과가 떴다 ;; dfs로 풀면 시간초과 없이 풀 수 있다. 상하좌우를 돌듯이 사칙연산을 재귀호출해주는 것이다 i 는 인덱스이고 now는 현재 계산과정을 거치..
·Algorithm (PS)
https://www.acmicpc.net/problem/18405 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net bfs에서 고려해야 할 점 1. 1초에 한 칸 앞으로 이동할 수 있으며, 현재 몇 초가 경과했는지를 알아야 한다. -> '초' 에 대한 데이터를 어떻게 기록/ 갱신할 것인가 ? 2. 바이러스 숫자가 낮은 순으로 정렬되어야 한다 이부분은 list에 바이러스 정보를 저장할 때 (virus, 시간, x좌표, y좌표) 로 저장해서 sort() 함수를 사용하면 맨 첫번째 vi..
·Algorithm (PS)
https://www.acmicpc.net/problem/10992 10992번: 별 찍기 - 17 첫째 줄부터 N번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net n = int(input()) print(" "*(n-1) +"*") for i in range(2, n+1): if i == n: print('*'*((i*2)-1)) else: print(" "*(n-i) +'*' + ' '* (2*(i-1)-1) + '*')
·개발일기
기계식 키보드를 사고 싶은 내가 가장 고민중인 k8과 k3 retro 를 비교하면서 키크론 기계식 키보드에 대해서 알아보는 포스팅이다. 현재 이 로지텍 블루투스 키보드를 사용중이다. 가볍고, 영문자판에 핑크컬러 ! 디자인 역시 마음에 든다. 휴대용으로는 참 괜찮은데 , 문제는 타건감이 별로이고 가끔씩 키 입력이 자꾸 먹는다 ㅠㅠ 그래서 로그인할 때 비밀 번호 칠 때 너무너무 불편하다 !! 그리고 네이버 블로그의 문제인지, 내 키보드의 문제인지 모르겠지만, 특히 네이버 블로그에서 글을 쓰면 입력이 자꾸 먹어서 너~~~무 불편하다 !! 그래서 입력이 자꾸 먹으니까 습관적으로 쾅쾅 치게 되고, 손이 아프다 ㅠㅠ 라는 여러가지 이유를 들면서 사실 그냥 아무이유없이 예쁘고 타건감이 기대되서 사고싶다 ㄱ- 기계식 ..
1. 디자인 패턴 소프트웨어 공학의 소프트웨어 설계에서 공통적으로 발생하는 문제에 대해 자주 쓰이는 설계 방법을 정리한 패턴이다. 개발의 효율성과 유지보수성 등의 품질이 높아지며, 프로그램의 최적화에 도움이 된다. 2. 디자인 패턴 구성 요소 패턴의 이름 문제 및 배경 솔루션 사례 결과 샘플 코드 3. 디자인 패턴 유형 1) 목적 : 생성 / 구조 / 행위 생성 : 객체 인스턴스 생성에 관여, 클래스 정의와 객체 생성 방식을 구조화, 캡슐화를 수행하는 패턴 구조 : 더 큰 구조 형성 목적으로 클래스나 객체의 조합을 다루는 패턴 행위 : 클래스나 객체들이 상호 작용하는 방법과 역할 분담을 다루는 패턴 2) 범위 : 클래스 / 객체 4. 디자인 패턴 종류 i ) 생성 패턴 Builder 생산 단계를 캡슐화 ..
1. 객체 지향 개념 : 실세계의 개체를 속성과 메서드가 결합한 형태의 객체로 표현하는 기법이다. 2. 객체 지향 구성요소 클래스 (Class) - 객체 지향 프로그램에서 데이터를 추상화 하는 단위 - 하나 이상의 유사한 객체들을 묶어서 하나의 공통된 특성을 표현 - 속성은 변수의 형태로 행위는 메서드 형태로 선언 객체 (Object) - 객체의 행위는 클래스에 정의된 행위에 대한 정의를 공유함으로써 메모리를 경제적으로 사용 - 객체마다 각각의 상태와 식별성을 가짐 메서드 (Method) - 클래스로부터 생성된 객체를 사용하는 방법 - 객체가 메시지를 받아 실행해야 할 객체의 구체적인 연산 - 전통적 시스템의 함수 또는 프로시저에 해당하는 연산 기능 인스턴스 (Instance) - 객체지향 기법에서 클래..
minjiwoo
'분류 전체보기' 카테고리의 글 목록 (69 Page)