Base 55

코드업 기초100제 정리

최근 소프트웨어 마에스트로에 서류합격하고 코딩테스트를 준비하느라 정신이 없었다. 가끔씩 백준에 들어가서 문제를 풀긴 했었지만 지금까지는 전공과목 공부를 하고 앱만드는데만 힘을 쏟느라 제대로 알고리즘을 접해보고 공부해볼 기회가 없었다. 이번 코딩테스트를 통해 알고리즘에 대해 접하고 제대로 공부해볼 수 있어서 합불을 떠나 좋은 경험이 된 것 같다. 소프트웨어 마에스트로 가이드에 따르면 기초100제로 기본을 다지고 백준에서 단계별로 풀어보라고 해서 코드업의 기초 100제 먼저 풀어보았다. 기초 100제를 풀면서 배운점을 정리해봤다. 1. 여러개의 값을 받을 때 map 이용한다. 2. format쓸 때 {0:02d} 3. o는 8진수 x는 16진수, X는 16진수인데 대문자로 나옴 4. int()로 형변환 할 ..

객체 지향 프로그래밍이란?(OOP : Object Oriented Programming)

메소드(method)는 코드들을 담은 상자이다.(함수를 의미) -> 여기까지는 절차적 프로그래밍에서 가능한 것들 근데 범위가 커지고 해야할 작업이 복잡해지면 코드도 길어지고 프로그래밍하기가 벅차진다. 여기서 객체지향 프로그래밍의 요소들이 추가된다. 클래스는 변수들과 메소드를 담은 상자이다. 이렇게 데이터와 기능이 클래스로 ‘캡슐화’된 컴퓨터 자원의 묶음을 ‘객체’라고 한다. 인스턴스는 클래스로 찍어낸 변수로 하나의 클래스안의 변수 값들을 계속 바꿔주다보면 불필요한 코드가 많아지고 오류가 생길 확률이 높다. 이에 따라 다른 초기값을 가진 클래스를 인스턴스 변수에 찍어내는 방식을 쓴다.(클래스를 복제해 또다른 구조를 만드는 방식)(생성자를 이용해 초기값을 원하는 값으로 지정해줄 수 있다. -> 자바의 경우 ..

Base/용어 개념 2021.03.01

C언어 기초 (C언어 프리뷰)

들어가기에 앞서, 용어 정리 소스코드 (source-code) : 컴퓨터 프로그램을 (사람이 읽을 수 있는)프로그래밍 언어로 기술한 코드를 의미 컴파일 (compile) : 원시코드에서 목적코드로 옮기는 과정 목적코드 : 컴파일러가 소스코드 파일을 컴파일해서 생성하는 파일 (주로 기계어로 이루어짐) 컴파일러 : 좁은 의미의 컴파일러는 주로 고수준 언어로 쓰인 소스코드를 저수준 언어(어셈블리어, 기계어 등)로 번역하는 프로그램 바이너리 (binary) : 이진, 이진법, 이진 파일 (0과1로 이루어진) 1. 프로그램 작성 -> $vim sourcename.c 2. 컴파일 -> $gcc sourcename.c -> 결과 (목적파일) : a.out (이 a.out은 binary file이다. : 목적코드파일)..

Base/C 2021.01.10

margin과 padding이란? (margin, padding의 의미 및 속성)

최근 앱개발을 하면서 레이아웃을 많이 만져 이제는 익숙해졌지만 처음에는 헷갈리는 개념이었다. margin과 padding은 대상 레이아웃에 공백을 만들어준다는 점에서 비슷하지만 조금 다른 부분이 있다. 먼저 두 개념에 대해 정리하자면 다음과 같다. margin : 바깥쪽 여백 padding : 안쪽 여백 아래 사진을 보자. 굵은 선이 레이아웃의 크기 경계라고 할 때, 이 선을 기준으로 바깥쪽의 여백을 margin이라 하고 안쪽 여백을 padding이라 하는 것이다. margin의 경우 왜 쓰는지 이해가 가는데 padding은 어떻게 사용해야하는지 감이 안올 수 있다. 필자 또한 그랬다.. padding의 경우 레이아웃의 위치(구조)에 영향을 주지않으면서 레이아웃 안의 내용물의 위치를 수정할 수 있는 좋은..

Base/용어 개념 2021.01.10

C언어 소개(C언어란?, C언어의 역사)

C 언어 원하는 결과를 얻기 위한 프로그램 작성 시 필요한 일종의 언어 UNIX 운영체제 하에서 시스템 프로그래밍을 하기 위해 개발됨 KeyWord) 작은 언어, 구조적 언어, 간결성, 강력한 기능, 빠른 속도, 이식성, 모듈성 (이식성 : 이식성이 높을 수록 한 응용프로그램을 다른 운영체제로 옮길 때 생기는 일부작업이 줄어듦. 모듈성 : 하나의 소스 파일에 모든 함수를 작성하지 않고 기능별로 따로 모듈을 구성한 후 블럭처럼 조립해 하나의 파일로 작성하는 방식) C로 개발된 운영체제) UNIX, MS-DOS, Windows, LINUX, Mac OS, etc 1960 ALGOL60 (ALGOrithmic Language) : 1960년 국제 위원회에서 발표 -> 구조적 언어 1963 CPL (Combin..

Base/C 2021.01.09
반응형