전체 글 88

[BAEKJOON] 2292 - 벌집

www.acmicpc.net/problem/2292 2292번: 벌집 위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌�� www.acmicpc.net #include int main () { std::ios::sync_with_stdio(false); long long input = 0; std::cin >> input; if (0 == input) { std::cout = sum) { sum += 6 * (level++); } std::cout

[BAEKJOON] 5543 - 상근날드

www.acmicpc.net/problem/5543 5543번: 상근날드 입력은 총 다섯 줄이다. 첫째 줄에는 상덕버거, 둘째 줄에는 중덕버거, 셋째 줄에는 하덕버거의 가격이 주어진다. 넷째 줄에는 콜라의 가격, 다섯째 줄에는 사이다의 가격이 주어진다. 모든 가�� www.acmicpc.net #include int main() { std::ios::sync_with_stdio(false); int burger = 2001; int bebarage = 2001; int tmp = 0; for (int idx = 0; idx > tmp; if (tmp < burger) { burger = tmp; } } for(int idx = 0; idx < 2; idx++) ..

[C++] List container (std::list) 개념 및 사용법 정리

List container란? List conatiner는 보통 이중 연결 리스트(doubly linked list)로 구현된다. 이중 연결 리스트를 이용하면 메모리 상의 임의의 위치에 원소를 저장하더라도 참조할 수 있게 된다. 왜냐하면 어떤 원소의 위치는 이전 원소와 다음 원소의 링크를 통해 따라서 추적해나갈 수 있기 때문이다. 그로 인해 List는 아래와 같은 장점들이 있다. 임의의 위치에 원소 삽입 / 삭제가 가능하다. 서로 다른 컨테이너 사이 or 컨테이너 내부에서 원소들간의 이동이 효율적이다. 원소들을 앞에서 뒤로 or 뒤에서 앞으로 참조해 나갈 수 있다. vector, deque conatiner들과 비교했을 때, 리스트는 원소의 삽입 / 삭제 / 원소들간 이동이 효율적이다. 따라서, 정렬 알..

Development./C++ 2020.09.03

[C++] Vector container(std::vector) 개념 및 사용법 정리

Vector container란? vector container는 자동으로 메모리가 할당되는 배열으로, std::array의 고정 배열 기능을 더 안전하고 유용한 형태로 제공한다. 즉, new/delete를 사용하여 메모리를 동적으로 할당/해제 하지 않고도 런타임에 길이가 설정된 배열을 만들 수 있다. vector를 사용하기 위해서는 헤더파일을 추가해야 합니다. std::vector의 변수 선언 및 초기화 방법은 아래와 같다. #include // 비어있는 vector 생성 std::vector array1; // 1, 2, 3, 4, 5 아이템을 가지는 vector 생성 std::vector array2 = {1, 2, 3, 4, 5}; std::vector array3{1, 2, 3, 4, 5}; /..

Development./C++ 2020.08.17

[DEV] 신인 프로그래머가 알아야 할 프로그래밍 6선

KISS - Keep It Simple, Stupid 코드 작성할 때 "단순성"과 "간결함"을 가장 중요한 항목으로 한다. 코드는 자연에 맡겨 수정 해가면 무질서 하게 되고, 복잡해질 수 있다. 그 결과, 구현 된 코드 읽기가 어렵고, 수정하기가 어려워 진다. 코드를 간단하게 유지하는 것 만으로도 수정하기가 용이해 진다. 프로그래밍을 할 때, "동작을 위한 가장 단순한 것은 무엇인지" 자주 물어보는 것이 필요하다. DRY - Don't Repeat Yourself 같은 코드를 중복해서 쓰지 말자. 왜냐하면, 코드의 개선이 어려워지기 때문이다. 같은 코드가 여럿 있는 것으로 양적으로 더 많은, 질적으로 더 복잡한 코드가 되기 때문에, 코드 읽는 작업이 어려워 진다. 또한, 수정할 때도 중복해서 쓴 코드에 ..

Development. 2020.08.17

[JavaScript] 기초 문법 정리

회사 내에서 web tool 개발 필요한 일이 생겨 web tool 개발을 위해 자바스크립트를 공부하게 되었다. 자바스크립트의 기초 문법 정리부터 시작 하겠다. 변수 자바스크립트의 변수에 저장할 수 있는 데이터의 종류 - String / Number / Boolean / Null 자바스크립트는 변수형이 존재하지 않고, var이라는 가변형 변수만 존재함. 초기화 할 때 저장할 데이터 형태에 따라서 알아서 할당 됨. example. var message = "Hello JavaScript!"; var number = 123; var isTrue = true; var variable = null; 연산자 +, -, *, /, % 등 기본 연산 가능하며, 증감연산자(++, --)도 사용 가능하다. var num..

[BAEKJOON] 5014 - 스타트링크

https://www.acmicpc.net/problem/5014 #include #include using namespace std; typedef struct info { int floor; int cnt; info() {} info(int floor, int cnt) : floor(floor), cnt(cnt) {} }info; vector visit; queue q; int main() { int F = 0, S = 0, G = 0, U = 0, D = 0, btn_cnt = 0, cur = 0; cin >> F >> S >> G >> U >> D; // F = 전체 층, S = 현재위치, G = 목표, U = 올라가는 층수, D = 내려가는 층수 visit.resize(F+1); q.push(i..