본문 바로가기

전체 글42

[백준] 1406 에디터 c++ auto와 linked list 백준 길라잡이 문제집 등 적당한 실버~골드 사이 문제들 모아 놓은 문제집들 중에서 안 풀고 미뤄 온 문제들 중 하나였던 1406 에디터. 딱 보고 저번학기 때 배웠던 연결리스트가 생각났고, 일일이 구현할 생각에 귀찮아서 안 풀고 있었다. 문제집에 있는 초록색 '성공' 표시가 연속되어 있다가 딱 하나 빠져있는 게 보기 싫어서 눈 감고 풀었다. typedef struct node{ int data; node* next; }; 처음에는 위의 코드처럼 연결리스트를 하나 하나 구현하려고 했는데, STL 라이브러리에 스택도 있고, 큐도 있고, 하여튼 거의 모든 자료구조가 있는데 연결리스트도 하나 있지 않을까? 싶어서 구글링을 해보니 https://www.cplusplus.co.. 2022. 3. 6.
처음 시작하는 SQL 프로그래밍 강의노트(2) 처음 시작하는 SQL 프로그래밍(2) ORDER BY 명령어를 이용한 데이터의 정렬 select * from products **order by prod_price**; 내림차순 정렬(DSC) select * from products order by prod_price **desc**; select * from order by item_price **desc**; 1차 정렬 + 2차 정렬 select * from orderitems order by quantity desc, order_item; WHERE + ORDER BY SELECT * FROM products WHERE prod_price 2022. 3. 3.
[백준 4375] 모듈로 연산이란? 모듈로 연산이란? 어떤 한 숫자를 다른 숫자로 나눈 나머지를 구하는 연산 정수론에서 정수의 합과 곱을 어떤 주어진 수의 나머지에 대하여 정의하는 방법 A mod C = B mod C 라면, A와 B는 사실상 같은 수다 이 문제에서는, i mod input = (i mod input) % input이 된다 그러면 long long int의 범위를 넘어가지 않고, 시간 초과가 나지 않고 문제를 풀 수 있게 된다 #include using namespace std; int main(void) { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); int input; while (cin >> input) { int i = 1; int result = 1; while (1) .. 2022. 2. 16.
SW 유지보수성 향상을 위한 Clean Code 강의노트 SW 유지보수성 향상을 위한 Clean Code 코드의 품질 시각이 다 다름 계속 개선해야 함 그래서 Clean Code란? 이해하기 쉽고 변형하기 쉬운 사람이 읽고 이해하기 쉬운 단순한 한 가지 역할 + 명확한 이름 중복이 없다 테스트 케이스가 있다 클린 코드를 잘 쓰면 귀찮은 일이 없어진다 Clean Naming 좋은 이름은 내부를 들여다보지 않아도 동작과 목적을 쉽게 이해할 수 있음 코드 읽는 사람의 인지적 부하를 최소화할 수 있음 변수 → 출력하지 않아도 데이터를 알 수 있게끔 함수/메소드 → 동작 예측 가능, 코드를 이해 못해도 활용 가능 객체 → 이름만 봐도 어떤 객체가 만들어지는지 원칙 일단 의미가 명확해야 함 줄임말 쓰지 말 것, 규칙과 일관성, 동료와 상의 이해가능한 최소한의 정보 + 적.. 2022. 2. 9.