SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 주어지는 영어 문장에서 특정한 문자열의 개수를 찾는 문제다. string 라이브러리의 find 함수를 쓰면 간단하게 찾을 수 있다. size_t find(const string& str, size_T pos) const; str : 찾고자 하는 문자열 pos : 검색을 시작할 위치 문자열을 찾았다면, 해당 문자열의 시작 위치를 리턴하고, 그렇지 않을 경우 npos 리턴 string::npos란? size_type으로 정의된 특수값이다. string::npos란 -1 값을 가지는 상수로 find() 함수 수행 시에 찾는 문자열이 없을 때 반환된다. find..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 테이블 위에 자성체들이 있다. 푸른 자성체의 경우 N극에 이끌리는 성질을 가지고 있고, 붉은 자성체의 경우 S극에 이끌리는 성질이 있다. 테이블에서 일정 간격을 두고 강한 자기장을 걸었을 때, 시간이 흐른 뒤에 자성체들이 서로 충돌하여 테이블 위에 남아있는 교착 상태의 개수를 구하는 문제다. 화살표와는 상관없이 N극, S극 쌍을 찾는 문제로 그림에서는 7개이다. 처음에는 어렵게 생각해서 A, B와 같은 자성체들은 없애고 남은 자성체들을 모아서 카운트하려 했다. 하지만 그렇게 하니 정답이 잘 안나와서 다른 방법을 생각하게 되었다. N극, S극 쌍을 찾는 문..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 어느 사다리를 고르면 X표시에 도착하는지 구하는 문제다. y = 0에서 X표시에 도착하는 사다리를 찾으려면 어려울 수 있지만 X표시에서 y = 0인 출발점으로 도착할 수 있는 사다리를 구하는 것은 쉽다. y = 99에서 위로 올라가면서 왼쪽과 오른쪽으로 이동할 수 있는 칸이 있는지 확인한다. 이동할 수 있는 가로선이 있다면 이동하면 되는데 한쪽 방향으로만 이동할 수 있다는 것을 주의해주자! 왼쪽으로 이동했으면 왼쪽으로만 가야지 왼쪽 갔다가 오른쪽으로 가면 안된다. 위 과정을 반복하다가 y = 0에 도착하면 사다리를 찾은 것이다! 문제에서는 행을 y, 열을..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 100 X 100 크기의 2차원 배열이 주어질 때, 그림과 같이 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 찾는다. 각 행의 합, 열의 합은 쉽게 구할 수 있을 것이라 생각한다. 오른쪽 아래로 향하는 대각선은 i == j, 왼쪽 아래로 향하는 대각선은 i + j == 99인 원소를 더해주면 된다. 코드 C++ 코드 Java 코드
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 그림과 같이 노란색 상자들이 쌓여있다. 높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 평탄화 작업을 하려고 한다. 제한된 작업 횟수 동안 평탄화 작업을 수행하고 최고점과 최저점의 차이를 구하는 문제다. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 한다. 1회 덤프 때 A에 있는 상자를 B부분에 덤프하였다. 2회 덤프 수행 시에는 A에 있는 상자를 C부분에 덤프하였다. 덤프 횟수가 2회로 제한되어 있다면 정답은 6이 된다. 주어진 덤프 횟수 이내에 평탄화과 완료되면 덤프 작업을 멈추고 최고점과 최저점의..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 그림과 같이 빌딩들이 지어져 있다. 이 지역에서는 왼쪽과 오른쪽으로 창문을 열었을 때, 양쪽 모두 거리 2 이상의 공간이 확보될 때 조망권이 확보된다고 말한다. 빌딩들에 대한 정보가 주어질 때 조망권이 확보된 세대의 수를 찾는 문제다. 양쪽 모두 거리 2 이상의 공간이 확보된다면 조망권이 확보되므로 2 이하의 거리들만 확인해주면 된다. 양쪽 건물들 중에서 현재 건물의 높이보다 큰 건물이 있다면 조망권 확보 실패 현재 건물보다 높이가 낮은 건물들 중 제일 높은 건물과의 높이 차이를 계산하면 조망권이 확보된 세대의 수를 찾을 수 있다! 코드 C++ 코드 Ja..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 문제풀이 10개의 테스트 케이스마다 테스트 케이스 번호, 1000명의 점수가 주어진다. 최빈수를 찾기 위해서 cnt 배열에 각 점수가 몇 번 나타나는지 카운트해준다. 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라고 했으므로 cnt[i]가 maxCnt 이상일 경우에 갱신해준다. 코드 C++ 코드 Java 코드
- Total
- Today
- Yesterday
- 배열
- 스택
- dfs
- programmers
- algorithm
- Kotlin
- 그래프
- 알고리즘
- C++
- BFS
- 재귀
- 이분 탐색
- 프로그래머스
- SWEA
- 자바
- 백준
- SW Expert Academy
- 위상 정렬
- BOJ
- 브루트포스
- Two Pointer
- 구현
- 큐
- 트리
- 정렬
- 분할 정복
- Java
- 두 포인터
- 문자열
- 투 포인터
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |