본문 바로가기

SSAFY 6기/📌swexpert5

swexpert: 3499번 퍼펙트 셔플 🏆 문제정보 문제 난이도 : D3 (중하) 문제 유형 : 배열. 구현 📌 문제 A B C D E F 위와 같이 공백을 기준으로 단어가 주어질 때 A B C / D E F 절반을 기준으로 앞뒤로 잘라서 A D B E C F 이런식으로 반반을 섞는 단어를 만들어라. 홀수 일경우에는 가장 앞에 들어가는 문자의 문자열이 1개가 더 많아지게 된다. 📌 생각 🔥 내 풀이 나는 홀짝일 때가 다르므로, 홀짝일 때 앞에 들어가는 배열과 뒤에 들어가는 배열을 따로 선언하고 값을 넣어주었다. first 2021. 8. 7.
swexpert: 1861번 정사각형 방 🏆 문제정보 문제 난이도 : D4 ( 중하 ) 문제 유형 : DFS 📌 문제 1 2 3 4 9 3 4 6 1 5 7 8 2 이런식으로 2차원 배열이 주어진다. 각 숫자의 자리에서 이동할 수 있는데, 이 때 해당 숫자보다 1큰 숫자로만 이동할 수 있다. 어떤 숫자에서 출발해야 가장 많이 이동할 수 있는가? 📌생각 DFS 1. isOut() 2. 무한루프를 돌지 않게 하기 위한 visited 3. 사방향 탐색 🔥 어떻게 이동한 숫자를 셀 것인가? --> 재귀의 개념 이용 if(!isOut(nx,ny) && map[nx][ny] - map[a][b] ==1 && visited[nx][ny] == 0){ dfs(nx,ny); visited[a][b] = visited[nx][ny]+1; } 재귀는 끝까지 찍고,.. 2021. 8. 7.
swexpert : 미로1 🏆 문제정보 문제 : 1226. [S/W 문제해결 기본] 7일차 - 미로1 문제 난이도 : D4 (중하) 문제 유형 : DFS 📌 문제 출발 -> 2 도착점 ->3 벽 -> 1 지나갈 수 있는 곳 -> 0 2에서 출발해서 3으로 갈 때, 도착할 수 있는지 없는지 출력하라. 📌 생각 🔥 || - && if(isOut(movedX,movedY) || map[movedX][movedY] != 0){ return ; } && 가 아니라 || 여야 return 이 된다. 헷갈리지 말자! 🔥 방문처리 dfs의 경우, 상하좌우를 탐색하는데 , 방문처리를 해주지 않으면 무한루프를 돌 수 있다. 예를 들어 0 0 일 경우 -> 간 다음에 다시 2021. 8. 7.
swexpert : 2001. 파리퇴치 🏆 문제정보 난이도 : D2 ( 하) 문제 유형 : 2차원 배열 시물레이션 📌 문제 N x N 배열 안에서 존재하는 M x M 영역안에 있는 최대 값을 구하라. 📌 생각 i ~ j loop 를 돌면서 i 방향으로 + m ; j 방향으로 + m 해서 확인한다. oooooo oooooo oooooo oooooo 이런식으로 사각형이 있다고 치면 ㅁㅁooooo ㅁㅁooooo oooooooo oooooooo 네모 -> 확인하는 전체탐색 쭉 확인하는 것 🔥 실수 int di = 0; int dj; // N +1 까지임 while(di+M 제대로 들어오는지 로직 1 로직 2 로직 3 어떤 로직에서 에러가 나는지. 어떤 로직은 괜찮은 지 확실히 확인하면서 넘어가는게 좋다. 📌 코드 package src.swexpert.. 2021. 8. 4.
snail - swexpert 문제 📌 문제 🔥 1954번 달팽이 숫자 🔥 난이도 D2 https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PobmqAPoDFAUq&categoryId=AV5PobmqAPoDFAUq&categoryType=CODE&problemTitle=%EB%8B%AC%ED%8C%BD%EC%9D%B4&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 안쪽으로 들어가는 모양으로 숫자가 형성된다. ex) n = 3 1 2 3 8 9 4 7 6 5 이차원 배열의 값을 출력하라. 📌 해결 아이디어 🔥 이차원 배열에 순차적인 index의 값을 넣는 .. 2021. 7. 24.