전체 글
-
[SWEA] 18799. 평균의 평균알고리즘 2023. 11. 20. 21:16
#18799. 평균의 평균 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 부분집합의 평균을 구하는 문제이다. 정말 쉽게 해결할 수 있는 문제이다. {1,2,3} 의 부분집합 {1}, {2}, {3}, {1,2}, {1,3}, {2,3} -> 1:3개, 2:3개, 3:3개 {1,2,3,4}의 부분집합 {1}, {2}, {3}, {4}, {1,2}, {1,3}, {1,4}, {2,3}, {2,4}, {1,2,3}, {1,2,4}, {1,3,4}, {2,3,4} -> 1: 7개, 2: 7개, 3 : 7개, 4: 7개 이렇듯 부분집합 평균들의 평균은 집합의 평균과 같다는 것을 알 수 있다. 그래서 집합의 평균..
-
[SWEA] [S/W 문제해결 기본] 7일차 - 미로1알고리즘 2023. 11. 19. 15:26
#[S/W 문제해결 기본] 7일차 - 미로1 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 문제의 난이도가 D4 인데 너무 쉬웠다. 나는 DFS보다 BFS를 좋아해서 BFS로 해결했다. 입력이 정수형이 아니라 문자로 들어와서 이것만 주의하면 쉽게 해결할 수 있다. #코드 #include #include using namespace std; int dx[4] = {1, 0, -1, 0}; int dy[4] = {0, 1, 0, -1}; int main(int argc, char** argv) { int test_case; int T; T=10; for(test_case = 1; test_case > te..
-
[SWEA] [S/W 문제해결 응용] 3일차 - 최적 경로알고리즘 2023. 11. 16. 16:54
#[SWEA] [S/W 문제해결 응용] 3일차 - 최적 경로 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 N의 크기가 작아 백트래킹을 사용하여 해결하였다. 회사에서 출발하여 모든 직원들의 집을 거치고 마지막으로 집으로 가는 거리까지 더하여 최소 경로를 구하였다. 시간도 널널해서 무난하게 해결할 수 있는 문제였다. 함수 back를 사용해서 백트래킹을 활용하였다. 파라미터는 sum = 지금까지의 경로 거리 vector v = 직원들의 좌표 num = 몇 명을 거쳐갔는지 pair pre = 다음 사람과의 거리를 구하기 위한 현재 좌표 pair home = 집의 좌표 또한 vis 배열을 사용하여 백트래킹을 ..
-
[SWEA] 2819. 격자판의 숫자 이어 붙이기알고리즘 2023. 11. 14. 21:28
#[SWEA] 2819. 격자판의 숫자 이어 붙이기 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 문제를 조금 어렵게 나와 있어서 제대로 이해하지 못하여 BOJ 1941: 소문난 칠공주 처럼 조합으로 해결했다가 답이 틀려서 왜그런가 하고 다시 봤더니 DFS로 풀 수 있는 쉬운 문제였다. 문제에서는 한 번 거쳤던 칸을 다시 거쳐도 상관 없다고 하였으므로 stack을 사용하지 않고 재귀를 사용하여 DFS를 구현하여 거친 칸의 개수가 7개가 되면 멈추게 하게 하였다. 쉬운 문제이다. #코드 #include #include #include #include #include #include using namesp..
-
[SWEA] 3753. 가능한 시험 점수알고리즘 2023. 11. 14. 21:19
#3753. 가능한 시험 점수 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 각각 배점이 있는 N개의 문제를 풀어 맞출 수 있는 모든 점수의 경우의 수를 구하는 문제이다. 나와 있는 예시를 보면 2점, 3점, 5점 으로 3문제가 있고 3문제를 통해 받을 수 있는 모든 경우의 점수는 0, 2, 3, 5, 7, 8, 10 으로 총 7개의 경우가 나온다. 이걸 보고 2+3와 5가 같으므로 중복을 제거하는 set을 사용하려고 했지만 시간초과가 났다. 중복을 찾는 것이 오래 걸린 것 같다. 그래서 다음으로 생각한 것이 dp를 이용하여 푸는 방법이다. 2점의 점수가 들어오는 경우 {0} -> {0, 2} 3점의 ..
-
[SWEA] [S/W 문제해결 응용] 4일차 - 보급로알고리즘 2023. 11. 10. 15:40
# [S/W 문제해결 응용] 4일차 - 보급로 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com #풀이 문제를 보면 bfs를 사용하여 최단거리를 구하는 문제임을 알 수 있다. bfs를 거칠 때 마다 board[x][y] 에 있는 파여진 땅들을 더해가며 최종적으로 {n,n}에 도착했을 때 값을 구하는 문제이다. 방문 표시 배열을 만들어 좌표까지 걸린 시간을 저장하고 bfs를 돌린다. 만약 vis[x][y]배열에 값이 있다면 값을 비교하여 현재 칸에서 {x,y} 로 가는 비용과 vis[x][y]의 비용을 비교하여작은 것으로 갱신한다. #코드 #include #include #include using namespace..
-
BOJ 21608 : 상어 초등학교알고리즘 2023. 11. 8. 13:48
#BOJ 21608 : 상어 초등학교 21608번: 상어 초등학교 상어 초등학교에는 교실이 하나 있고, 교실은 N×N 크기의 격자로 나타낼 수 있다. 학교에 다니는 학생의 수는 N2명이다. 오늘은 모든 학생의 자리를 정하는 날이다. 학생은 1번부터 N2번까지 번호 www.acmicpc.net #풀이 격자판 위에 학생들을 조건에 맞게 배치하는 문제이다. 우선순위에 맞게 학생들을 배치 해야 한다. 나는 먼저 격자 한 칸에 대한 데이터를 저장하는 구조체를 만들고 구조체 멤버 변수는 좋아하는 사람의 개수 , 빈칸의 개수, 행이 작음, 열이 작음 이다. 우선순위는 인접한 칸의 좋아하는 사람의 개수 > 빈칸의 개수 > 행이 작음 > 열이 작음 이므로 우선순위큐에서 사용할 cmp 클래스를 이에 걸맞게 만들었다. 그 ..
-
식단 하기 너무 힘들다...곰들의 운동일지(양프) 2023. 11. 8. 11:09
안녕하세요. 요즘엔 식단을 하고 있는데 너무 하기 싫어요... 닭가슴살 방울토마도 오이 햇반 이렇게 먹고 있는데 너무 맛있는 게 많네요... 최근에 새로운 헬스장을 가봤어요!! 집 근처에 있는데 헬스장을 시간으로 대여할 수 있더라구요!! 시간당 7000원이어서 생각외로 좁고 일단 스미스 머신이 거의 샘스미스 마냥 생겼어요 ㅋㅋㅋㅋㅋ 최근에 시험도 보고 회사에서 회식도 하고 많은 일들이 있었어요 제가 말한 그 시간별로 대여 가능한 헬스장 이름이에요! 회식 때 먹은 피자에요 저는 페페로니 피자를 좋아해요!! 여기서 우유튀김도 먹었는데 저와 함께 할 수 없는 맛이더라구요.... 그래도 신기했어요!! 처음으로 올리는 저의 모습이에요 ㅋㅋㅋㅋㅋ 어제 헬스장 갔다가 찍었어요~~ 라이언 사진으로 이렇게 얼굴만 가리니..