일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 메모리구조
- 혼자 공부하는 C언어
- 윤성우 열혈자료구조
- JSON
- stream
- 윤성우의 열혈 자료구조
- buffer
- s
- datastructure
- Graph
- Algorithm
- Selection Sorting
- 알기쉬운 알고리즘
- R
- 이것이 자바다
- 이스케이프 문자
- insertion sort
- Stack
- list 컬렉션
- coding test
- Serialization
- C programming
- C 언어 코딩 도장
- Today
- Total
목록Programming Language (94)
Engineering Note

자바 프로그램의 개발과 구동 자바로 작성한 소스코드는 C언어와 다르게 하나의 컴파일로 목적프로그램을 만들면 자바 개발환경이 설치된 어느 컴퓨터에서 실행 가능하다. JVM(Java Virtual Machine)의 존재와 역할을 아는 것이 자바 개발환경을 이해하는데 필수적이다. JVM은 컴퓨터를 구동하기위한 현실 세계르 모방하여 만들어졌다. 현실세계에서 컴퓨터를 구동하기 위해서는 물리적 컴퓨터인 하드웨어와 운영체제, 그리고 그위에서 구동될 소프트웨어가 필요하다. 거기에 더해 ㅅ호프트웨어를 개발할 수 있는개발 도구가 필요하다. 자바의 가상세계는 이러한 현실 세계를 그대로 모방하고 있다. 현실 세계 가상 세계(자바 월드) 소프트웨어 개발 도구 JDK - 자바 개발 도구, JVM용 소프트웨어 개발 도구 운영체제 ..

본 글은 책 (저자 박종민)를 참고하여 정리한 글입니다. 기계어에서 객체 지향 프로그래밍 언어로 기계어 - 0,과 1의 행진 / 너무나 비인간적인 언어 컴퓨터는 0과 1밖에 이해하지 못한다. 하지만 자료구조와 알고리즘을 통해 0과 1로 이 현실세계를 모델링하여 표현하고 있다. 인류 최초의 프로그래머들은 꺼진 상태와 켜진 상태를 각각 0과 1로 해석 할 수 있는 진공관을 통해 프로그램을 작성했다. 최초의 프로그래머들에겐 키보드도 없었고 심지어 모니터도 없었으며 다만 전구에 전원을 넣을 수 있는 전선 다발이 전부인 적도 있었다. 기계어는 기계가 이해하는 유일한 언어로 2진 숫자인 0과 1로만 표현 되는데 기계어 코드가 CPU에 따라 다르기 때문에 이기종 간에 호환이 불가능하다. 01010101 0000000..
본 글은 책 참고하여 정리한 글입니다.Array코틀린에서 배열은 Array로 표현되며 Array는 get(), set(), size() 등의 함수를 포함하는 클래스배열을 만드는 가장 쉬운 방법은 arrayOf() 함수를 이용arrayOf() 함수는 타입을 명시하지 않고 사용 가능하며 다양한 타입의 데이터를 추가할 수 있음제네릭을 이용하거나 각 타입을 위해 제공되는 배열을 만드는 함수를 이용하면 특정 데이터만을 위한 배열 만들 수 있음 참고자료 : 깡샘의 코틀린 프로그래밍
훌륭한 소프트웨어 기법은 집중, 침착, 사고라는 규율을 요구한다. 단지 기능이 동작하는 코드는 좋은 코드가 아니다. 무작정 설비를 돌려 제품만 찍어낸다고 다가 아니다. 5S 철학에 맞춰 SW를 개발해야한다. 5S 철학 1. Seri(정리), Sort(정렬): 적절한 명명법 등과 같은 방법을 사용해 무엇이 어디에 있는지 알아야 한다. 2. Setion(정돈 또는 단정함, 체계화): "물건마다 모두 제자리가 있다."라는 속담처럼 코드는 누구나 예상하는 위치에 있어야한다. 그렇지 않으면 다시 정돈해 누구나 예상하는 위치로 옮겨야한다. 3. Seiso(청소 또는 광내기): 작업 공간에서 배선이나 기름이나 부스러기나 쓰레기는 치운다. 과거 이력이나 미래 바람을 기록한 주석 혹은 주석으로 처리한 코드는 제거해야 한..

2차원 리스트 리스트 안에 리스트를 넣어서 만들 수 있음 2차원 리스트로 행,열로 표현된 평면구조를 표현할 수 있음 행과 열은 모두 0부터 시작함 Python에서 2차원 리스트 선언하는 법. 아래는 3행 2열짜리 2차원리스트를 선언한 예다. a = [ [10,20], [30,40], [50,60] ] 조금더 직관적으로 알아보기 위해 python에서 다음과 같이 선언할 수도 있다. a = [ [10,20], [30,40], [50,60] ] 2차원 리스트는 리스트안에 값으로 리스트가 존재하고 이렇게 바깥 리스트 안에 존재하는 각각의 리스트들이 각 행의 값들을 의미한다. 그리고 각 행에 존재하는 열들은 다시 리스트의 값이므로 기존의 리스트에서 값에 접근하는 것처럼 접근이 가능하다. ex) n행은 a[n]으로..

파이썬의 int 함수는 실수 또는 문자열로 표현된 숫자를 정수로 바꾸어 주는 함수이다. 12.3 실수를 int 함수의 매개변수로 넣으면 소수점 이하부분은 지워지고 정수 부분만 반환한다. "11" 이라는 문자열로 된 수를 int 함수의 매개변수로 넣으면 11이라는 10진수 형태의 정수를 반환한다. 여기서 10진수형태라고 한 이유는 int가 default로 10진수의 정수로 반환하고 다른 조건을 넣어준다면 다른 진법표기형태로 수를 바꿀수도 있기 때문이다. 만약 "11"이 2진법의 수를 나타낸 것이였다면 이 수를 2진법의 정수로 바꾸고 싶을 것이다. 그렇다면 다음과 같이 하면된다. int("11",2) 첫 번째 매개변수에 기존 수를 넣어주고, 두 번째 매개변수의 바꾸고 싶은 형태의 진법에 대한하는 n값을 넣어..
부호를 바라본 관점에 따른 알고리즘의 차이 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/76501 해설 absolute에는 어떤 정수의 절대값이 저장되어 있고, signs를 통해 특정 index의 숫자값이 기존에 양수였는지 음수였는지 알 수 있다. signs[i]의 값이 True라면 absolute[i]의 값이 양수고 signs[i]의 값이 Flase라면 absolute[i]의 값이 음수이다. 이때 실제 정수들의 합을 구하는 알고리즘을 구하는 것이 문제이다. 예를 들어 absolute = [4,7,12], signs = [true,false,true] 라면 answer = 4 -7 +12로 답은 9가 된다. 이때 7을 앞에 숫자에서 7을 빼는 ..
Dictinary 파이썬에서는 연관된 값들을 묶어서 저장하는 용도로 딕셔너리라는 자료형을 제공합니다. 아래와 같이 lux 라는 리스트 자료형에서 인덱스 0은 체력, 인덱스 1은 마나, 인덱스 2는 사거리, 인덱스 3은 방어력이라고 했을 때 리스트만 봐서는 각 값이 어떤 능력치인지 쉽게 알기가 힘듭니다. 이럴 때 각 데이터들을 명확히 구분하여 저장하기 위해서 딕셔너리라는 사용합니다. lux = [490,334,550,18,72] 딕셔너리 자료형을 이용해서 게임 능력치를 저장해 보면 아래와 같습니다. lux = {'health':490, 'mana':334, 'melee':550,'armor':18.72} 이렇게 딕셔너리에 값을 저장하면 lux라는 캐릭터의 health(체력)은 490, mana는 334, ..