일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Java
- 삼성전자
- 코딩테스트
- 삼성기출
- 코드차용
- 평행조
- 무료 악보 프로그램
- code tree
- 삼성SW Expert Academy
- 공대생 자소서
- 코테
- 알고리즘
- 대중음악화성
- 취준
- 모달진행
- DP
- 음악작곡기초
- syncroom
- 화성학응용
- ableton live 12
- 음계구조
- 음정이론
- 코드트리
- 마법사상어와 블리자드
- SW 직군
- 스케일분석
- 드럼Tab악보
- 모드코드
- 화음분석
- mode chord
- Today
- Total
목록Code/SWEA (2)
Code Beat
N개의 숫자, ‘+, -, x, /‘ 의 연산자 카드를 연산자의 우선 순위를 고려하지 않고 차례대로 계산 연산 결과의 최대값, 최소값의 차이를 구하는 문제이다. N은 3 이상 12 이하의 정수 -> 연산자가 들어갈 공간의 수는 2 이상 11 이하 N이 최대인 12개 인 경우 각 연산자의 순열 값은 단순 계산 했을 때, 4^11 = 2*22 = 약 4,000,000 이면서 연산자의 수가 4개 이므로 중복된 경우를 제외 했을때 4백만보다 작다고 판단할 수 있다. 따라서, 이 문제는 숫자의 위치를 고정한 후 사용 할 수 있는 연산자에 대해 순열을 구현한 후 각 경우에 대해 계산하여 최대, 최소값을 찾는 알고리즘을 구현하면 된다. 중복 사용을 방지한 순열의 구현에 대해 dfs로 구현했으며 visit 배열을 통해..
원자력 발전소라는 스토리를 가져왔지만 좌표위의 점에 대한 움직임을 정해진 대로 수행하는 시뮬레이션 문제이다. 산문형식으로 풀어쓰여진 내용을 논리적으로 정리하고 조건을 빠트리지 않는 함수들을 구현한 뒤, 정해진 순서에 맞게 움직이는 문제다. 이런 문제는 코딩 전 조건들을 옮겨적어 정리하고 고민하는 시간이 길어야한다. 중간에 엣지케이스를 찾아서 디버깅하는 것이 엄청 오래걸리고 헷갈리기 때문이다. 물론 한 번에 완전한 코드를 짠다는 건 더 어렵지만 오히려 큰 로직을 틀리더라도 작은 조건을 빠트리지 말자. 아래는 문제를 푼 후 조금 다듬은 코드이다. #include #include using namespace std; struct Atom { int i; int j; int dir; int k; Atom() {..