Skip to content

ssbb1166/algorithm-problem-solving

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

알고리즘 문제 풀이

Solved.ac 프로필 mazandi profile

알고리즘 문제 솔루션 저장소입니다. 모든 솔루션은 C++ 언어로 작성되었으며, ctrl + F로 검색할 수 있습니다.


Table of Contents


Coding Rules

Header

  • 헤더 파일은 알파벳 순서로 정렬한다.

Variable

  • 변수명은 snake case를 따른다.
  • 변수명은 문제에 나온 명칭을 그대로 사용한다.
  • 문제에 나온 명칭을 사용할 수 없으면 의미 있는 변수명을 짓는다.
  • 임시로 값을 저장하는 변수를 제외하고 모두 전역 변수로 선언한다.
  • 변수 선언 순서: 기본 자료형 > 표준 라이브러리 컨테이너 > 방향 벡터 배열

Function

  • 함수명은 pascal case를 따른다.
  • 함수명은 동사로 시작한다. (예외: DFS, BFS, Factorial 등)

Formatting

  • 들여쓰기는 공백 문자 4개를 사용한다.
  • 한 줄짜리 if, for, while 문에는 되도록 중괄호를 사용하지 않는다.
  • 방향 벡터 배열은 특별한 경우가 아니면 상, 하, 좌, 우 순서로 작성한다.
  • 시간 초과가 일어날 수 있으므로 endl 대신 '\n' 개행 문자를 사용한다.
  • 시간 복잡도가 중요한 문제는 ios::sync_with_stdio(false); cin.tie(nullptr);를 써야 한다.

Algorithm Tag

알고리즘별로 분류하여 알고리즘 공부의 효용성을 높였습니다.

Programmers

Baekjoon

  • 솔루션은 기본적으로 가장 주요한 태그 하나로만 분류한다.
  • 여러 알고리즘이 포함될 경우 문제 수가 적은 태그로 분류한다.

Commit Guidelines

Commit Message Format

<type>: <subject>

Commit Type

  • docs: README.md 등 문서 수정
  • feat: 새로운 문제 풀이 코드 추가
  • fix: 기존 문제 풀이 코드 오류 수정
  • refactor: 오류 수정을 제외한 리팩토링
  • style: 코드 의미에 영향이 없는 코드 수정
  • chore: 위에 해당하지 않는 기타 변경 사항
  • rename: 파일 이동 (파일명 변경)
  • remove: 파일 삭제

Commit Example

feat: add boj1000.cpp
docs: add coding rules
rename: boj1000.cpp to boj2000.cpp

Issue Guidelines

  • [수정] 수정이 필요한 사항
    • 틀렸습니다 : 제출하면 틀리는 코드
    • 리팩토링 : 리팩토링이 필요한 코드
    • 아이디어 : 새로운 문제 풀이 아이디어
    • 기타 : 코드를 제외한 기타 수정 사항
  • [복습] 복습이 필요한 사항
    • 복습 : 복습이 필요한 코드

Problem Solution

ctrl + F로 원하는 풀이를 찾을 수 있습니다.

Programmers

레벨 문제 해설 코드
Level 1 K번째수 정렬 C++
Level 1 모의고사 완전탐색 C++
Level 1 실패율 정렬 C++
Level 1 최소직사각형 완전탐색 C++
Level 2 게임 맵 최단거리 BFS C++
Level 2 가장 큰 수 정렬 C++
Level 2 타겟 넘버 BFS C++
Level 2 문자열 압축 완전탐색 C++
Level 2 괄호 변환 재귀 C++
Level 3 정수 삼각형 DP C++
Level 3 입국심사 이진탐색 C++
Level 3 자물쇠와 열쇠 시뮬레이션 C++
Level 3 기둥과 보 설치 시뮬레이션 C++
Level 3 외벽 점검 백트래킹 C++
Level 3 블록 이동하기 BFS C++
Level 4 무지의 먹방 라이브 그리디 C++

Baekjoon Online Judge

(2024년 현재 백준 목차 업데이트 중)

번호 문제 해설 코드
1000 A+B 구현 C++
1001 A-B 구현 C++
1002 터렛 수학 C++
1003 피보나치 함수 DP C++
1004 어린 왕자 수학 C++
1005 ACM Craft 위상정렬 C++
1007 벡터 매칭 백트래킹 C++
1008 A/B 구현 C++
1009 분산처리 수학 C++
1012 유기농 배추 BFS C++
1021 회전하는 큐 C++
1158 요세푸스 문제 구현
C++
C++
1267 핸드폰 요금 구현 C++
1406 에디터 리스트 C++
1439 뒤집기 그리디1
그리디2
C++
C++
1475 방 번호 구현 C++
1697 숨바꼭질 BFS C++
1715 카드 정렬하기 우선순위큐 C++
1874 스택 수열 스택 C++
1919 애너그램 만들기 구현 C++
1926 그림 BFS C++
2164 카드2 C++
2178 미로 탐색 BFS C++
2309 일곱 난쟁이 완전탐색 C++
2438 별 찍기 - 1 구현 C++
2439 별 찍기 - 2 구현 C++
2440 별 찍기 - 3 구현 C++
2441 별 찍기 - 4 구현 C++
2442 별 찍기 - 5 구현 C++
2443 별 찍기 - 6 구현 C++
2444 별 찍기 - 7 구현 C++
2445 별 찍기 - 8 구현 C++
2446 별 찍기 - 9 구현 C++
2480 주사위 세개 구현 C++
2490 윷놀이 구현 C++
2493 스택 C++
2504 괄호의 값 스택 C++
2557 Hello World 구현 C++
2562 최댓값 구현 C++
2576 홀수 구현 C++
2577 숫자의 개수 구현 C++
2587 대표값2 구현 C++
2752 세수정렬 구현 C++
2753 윤년 구현 C++
3190 시뮬레이션 C++
3273 두 수의 합 투포인터 C++
3986 좋은 단어 스택 C++
4179 불! BFS C++
4949 균형잡힌 세상 스택 C++
5397 키로거 리스트 C++
5427 BFS C++
5430 AC C++
7562 나이트의 이동 BFS C++
7569 토마토 BFS C++
7576 토마토 BFS C++
9012 괄호 스택 C++
9498 시험 성적 구현 C++
10026 적록색약 BFS C++
10093 숫자 구현 C++
10171 고양이 구현 C++
10773 제로 스택 C++
10799 쇠막대기 스택 C++
10804 카드 역배치 구현 C++
10807 개수 세기 구현 C++
10808 알파벳 개수 구현 C++
10825 국영수 정렬 C++
10828 스택 스택 C++
10845 C++
10866 C++
10869 사칙연산 구현 C++
10871 X보다 작은 수 구현 C++
11328 Strfry 구현 C++
13300 방 배정 구현 C++
14502 연구소 BFS C++
14888 연산자 끼워넣기 백트래킹 C++
15552 빠른 A+B 구현 C++
15686 치킨 배달 백트래킹 C++
16234 인구 이동 BFS C++
18258 큐 2 C++
18310 안테나 정렬 C++
18352 특정 거리의 도시 찾기 BFS1
BFS2
C++
C++
18405 경쟁적 전염 BFS1
BFS2
C++
C++
18406 럭키 스트레이트 구현 C++
18428 감시 피하기 백트래킹 C++