전체 글 (17) 썸네일형 리스트형 객체지향 프로그래밍 java 객체지향 프로그래밍 OOP의 특징 4가지와 등장 배경 OOP 객체지향 프로그램이란? 필요한 데이터를 추상화된 객체의 형태로 관리하는 프로그래밍 기법이다. 절차지향 언어에서 실행 순서를 중점으로 작성하는 것 비교되는 개념이라고 볼 수 있다. 절차지향과 객체지향을 반대의 개념이라고 보기는 어렵다. 둘 모두 정해놓은 순서대로 코드가 진행되지만, 객체 지향은 데이터를 다룰 때 객체의 특성을 중심으로 진행한다. 코드를 조금더 인간 지향적인 방법으로 작성하는 프로그래밍 기법이다. 절차 지향언어는 컴퓨터의 입장에서 작성된 코드로 조금 더 빠르다는 장점이 있고 객체 지향언어는 속도는 조금 느릴수 있는 대신에 상속, 오버로딩, 클래스 등의 추상화된 모델을 조립하여 조금 더 사람이 이해하기 쉬운 코드를 작성할 수 있다는 .. [백준 1253] 좋다 - java python도 좋지만 새로운 언어로 java를 사용해보려 한다. 읽는데 문제가 없지만 입출력, 자료구조를 구현하는데 생각보다 애를 먹고있다. 나중에 정리해보려 한다. 문제. 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 더보기 N개의 수가 주어지는데, 어떤 수를 다른 두 수의 합으로 나타낼 수 있으면 "좋다" 라고 하기로 한다. "좋다"의 갯수를 출력하라. 입출력 예시. 10 1 2 3 4 5 6 7 8 9 10 8 조건. 1 Virtual machine, JVM, Library, Frame work 등 Virtual machine 개념 버츄얼 머신, 가상머신은 디지털/ 소프트웨어 형태의 컴퓨터이다. 프로그램 및 운영체제를 실행하고 네트워크에 연결하는 컴퓨터와 같은 기능을 할 수 있다. 물리적인 컴퓨터 처럼 애플리케이션과 운영 체제를 실행할 수 있는 별도의 컴퓨터처럼 작동하는 시스템이다. 사용예시 aws, colab 등 클라우드 시스템으로 제공하는 가상머신 윈도우에서 Vmware 등으로 실행한 우분투 java 컴파일 된 파일을 실행하기 위한 JVM 클라우드환경을 제공하기 위해 기업은 하드웨어, 메모리 자원들을 분할하여 마치 수많은 컴퓨터가 존재하는 것 처럼 서비스할 수 있다. - 서버 가상화 PC에서 다른 OS를 실행시키기 위해 다시 부팅하고 재설치하는 과정은 비효율 적이다. 사용 용도에 맞는 운영체제를.. SSAFY 10기 스타트 캠프 후기 + 네이버 부스트캠프 결과 바쁘게 한 주가 지나갔다. 새로운 장소는 언제나 사람을 설레게 한다. 간단한 단체생활 안내만 받고 지나갈 줄 알았던 오리엔테이션은 생각보다 훨씬 적응해야할 사항이 많았고 그런 상황들에 대해 열정있는 사람들 역시 생각보다 훨씬 많이 만날 수 있었다. SSAFY에서는 처음 2주간 신병보호주간, 적응시간을 가지고 운영하는 일과를 따르게 된다. 행정 서류들을 취합하고 기본적인 학습툴과 배워나갈 커리큘럼에 대해 안내받는 시간이다. 고작 며칠을 참여했지만 학습분위기가 정말 좋았다. 계속해서 집중할 수 있게 해주는 분위기 사소한 행사 내용에도 열정적인 참여, 자연스럽게 나도 무언가 해나가야겠다는 생각을 하게 만들어 준다. 지금의 의지를 유지하고 몸에 익히는 시간이 되었으면 한다.수업이 시작되었지만 계속해서 추가합격을.. [백준 1865] 웜홀 - python 벨만포드 알고리즘 문제. 1865번: 웜홀 첫 번째 줄에는 테스트케이스의 개수 TC(1 ≤ TC ≤ 5)가 주어진다. 그리고 두 번째 줄부터 TC개의 테스트케이스가 차례로 주어지는데 각 테스트케이스의 첫 번째 줄에는 지점의 수 N(1 ≤ N ≤ 500), www.acmicpc.net 더보기 음의 가중치가 있는 그래프 탐색이다. 따라서 다익스트라 알고리즘으로는 해결할 수 없다. M개의 도로와 W개의 웜홀이 주어지는데 둘 다 N개의 지점이 있는 그래프의 간선이다. 도로는 가중치가 양수이며 양방향인 간선 웜홀은 가중치가 음수이며 단방향인 간선이다. 문제에서는 전체 비용이 음수가 되는 사이클이 존재하는지를 묻고있다. 입출력 예시. 2 # test case 3 3 1 # N, M, W 1 2 2 # S, E, T ... 1 3 4.. [SSAFY 10기] 추가 합격 후기 삼성 청년 SW 아카데이 (SSAFY) 10기에 지원했다. 이전 글에서 말했지만 네이버 부스트캠프 결과를 기다리고 있었다. 두가지 다 참여할 수 는 없고, 네이버는 아직 결과가 나오지도 않았기에 합격된 ssafy에서 이후 학습을 이어가려는 계획이다. 지원하고 준비하는 과정에서 생각보다 많은 사람들이 관심을 가지고 참여를 원하고 있음을 알게되어, 조금이나마 도움이 되기를 바라는 마음으로 글을 남겨보려고 한다. 사실은 지원했던 과정과 다짐을 적어두고 싶은 마음이 더 크긴하다. 시작하기 전에, ssafy의 시험내용과 면접내용은 유출금지라는 글이 더욱 많았는데, 과정을 진행하면서 이유를 조금 알 것 같았다. 시험 내용 면접 내용을 외부에 알리지 말라는 서약서를 작성하는 등 시험내용 보안에 상당히 신경을 많이 쓴.. [백준 16536] 어려운 소인수분해 - 에라토스테네스의 체/python 문제. 16563번: 어려운 소인수분해 첫째 줄에는 자연수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 자연수 ki (2 ≤ ki ≤ 5,000,000, 1 ≤ i ≤ N)가 N개 주어진다. www.acmicpc.net 더보기 소인수 분해 쉬운거 아냐? 소인수 분해의 어려움을 알려주고자 2 - 500만 사이의 수를 소인수 분해 하는 문제 첫줄에 자연수의 개수 N이 주어진다. 둘째 줄에 자연수가 N개 공백으로 구분되어 주어진다. 자연수의 범위는 2-5_000_000 N줄에 걸쳐서 자연수의 소인수들을 오름차순으로 출력하면 된다. 입출력 예시. 5 5 4 45 64 54 5 2 2 3 3 5 2 2 2 2 2 2 2 3 3 3 조건. 1 [자료구조] Python list / 리스트, 배열 차이 / 시간복잡도 파이썬에서는 array 배열을 지원하지 않는다. 외부 라이브러리를 이용해야 사용할 수 있다. 그래서 파이썬으로 pl에 입문하는 사람들이 list와 array의 차이를 이해하지 못하는 경우가 종종 있다. 이 글에서는 파이썬 리스트와 배열의 비교를 중심으로 리스트의 특징에 대해 설명하려한다. 기본 구조 배열과 리스트 모두 변수들을 연속적으로 담아두고 빠른시간에 접근하기 위한 자료구조이다. 배열: 어떤 자료를 얼만큼 저장할 지 미리 선언하여 생성한다. ex) int A[4] // 정수 4개를 저장하는 연속된 메모리공간 배열의 시작 주소, 저장된 값의 종류, 몇 번째 데이터인지(인덱스)의 정보로 빠르게 해당 정보에 접근할 수 있다. 리스트: 파이썬에서 리스트는 배열에 실제 값을 저장하지 않고 데이터가 저장된 곳.. 파이썬 변수 if else로 만들기/ 한 줄 if else 알고리즘 문제를 풀고 코드를 구경하다 보면 한 줄에 if else를 사용하여 한눈에 들어오는 모습을 가끔 볼 수 있다. 'if 조건:' 과는 비슷하면서도 다른 느낌을 받게 되는데, 처음 마주한다면 왜 이런 문장이 가능한 지 의문이 들 수 있다. var = A if B else C 같은 형태로 나타나는 이 문장은 삼항 연산자라고 불리는 문법이다. B가 True이면 A, False이면 C를 var에 할당하는 문장이라고 볼 수 있다. 기본 형태자체로 if else를 가지고있어 else를 생략하는 상태로는 사용할 수 없다. 파이썬이 아닌 다른 언어에서는 B? A:C로 표현되는 형태와 같다. 아주 간단하지만 파이썬 입문 책에서는 보지 못했던 내용으로 해당 내용만 알고 있다면 좀 더 간결한 문장을 작성할 수 있을 .. [백준 13549] 숨바꼭질 3 - python / if else 문제. https://www.acmicpc.net/problem/13549 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net 더보기 수직선을 탐색하는 문제다. N에 위치한 수빈이가 K에 위치한 동생을 찾는데 걸리는 시간을 출력 이동방법은 3가지가 있다. 1. X+1의 위치로 이동한다. 1의 시간이 걸린다. 2. X-1의 위치로 이동한다. 1의 시간이 걸린다. 3. 2*X의 위치로 이동한다. 0의 시간이 걸린다. 가장빨리 N에서 K에 도달할 수 있는 시간을 출력하는 문제이다. .. 이전 1 2 다음