1. 문제https://www.acmicpc.net/problem/1913 2. 풀이과정일단 단순 규칙만 파악해서 풀었는데 방향을 바꿀때 로직을 단순화 시킬 수 있을 것 같아. 나중에 리펙토링 해보려고한다. 3. 자바스크립트 정답 코드const fs = require('fs');const filepath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';const input = fs.readFileSync(filepath).toString().trim().split('\n');const n = +input[0];const target = +input[1];let targetPoint = [];let currentRow = Math.floor(n..
1. 문제https://www.acmicpc.net/problem/20291 2. 풀이과정1. map 자료구조를 사용해서 key = 확장자명, value = 카운트 수으로 저장2. 확장자 문자열 사전순 정렬3. 출력 📛주의할 점이 문제 자바스크립트로 풀다보면 😡시간초과😡를 만날 수 있을 것이다....로직 문제인줄 알고 계속 헤맸는데...이유는 바로 출력부분에 있었는데 한줄씩 console.log를 하면 시간초과가 발생한다!하나의 문자열로 만든 후 결과 console.log 한번에 출력하자! 3. 자바스크립트 정답 코드const filepath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';const input = require('fs..
1. 문제https://www.acmicpc.net/problem/21608 2. 풀이과정이런 구현 문제는 풀기 전 설계를 완료하고 코드를 짜야한다.- 설계1. 입력된 순서대로 앉힌다.2. 학생을 앉힐 때 현재 교실(board)의 모든 빈자리에 대한 인접 정보를 받아서 저장3. 인접 정보는 해당 빈자리의 좌표, 인접 빈자리 개수, 인접 좋아하는 학생의 수를 가진다.4. 3으로 수집한 인접 정보들을 조건에 맞게 정렬하여 특정 학생의 최적의 자리 선정5. 해당 자리에 학생을 앉힌다.6. 모두 앉힌 이후 조건에 따라 만족도를 조사한다. - 구현 함수 설명getSeatInfo(r, c, studentNum) : 특정 자리 좌표와 학생 번호를 매개변수로 받음특정 자리 좌표를 기준으로 4방향 탐색 -> 빈자리 수,..
1. 문제https://www.acmicpc.net/problem/20436 2. 풀이과정1. 초기 세팅 왼손으로 눌러야 하는 알파벳을 키로, 해당 알파벳의 좌표를 값으로 갖는 맵(left)을 생성한다. 오른손으로 눌러야 하는 알파벳을 키로, 해당 알파벳의 좌표를 값으로 갖는 맵(right)을 생성한다. 현재 왼손과 오른손의 초기 위치를 각각 currentLeft와 currentRight에 저장 2. 문자열 탐색 및 시간 계산 입력 문자열의 각 문자를 순회하면서 map 함수에서 해당 알파벳의 좌표를 받아온다. 현재 눌러야 할 손가락과의 거리 차이만큼 count를 증가시킨다. 그리고 현재 손가락의 좌표를 해당 문자의 좌표로 업데이트한다. 3. 자바스크립트 정답코드const fs = require('fs')..
1. 문제https://www.acmicpc.net/problem/1244 2. 풀이과정반복문으로 전체 학생들(operations[]) 순회시킴- 만약 남자(1)이라면 번호를 배수로 증가시키고 그때 인덱스는 번호 - 1로 접근하여 값을 뒤집는다.- 만약 여자(2)라면 번호 - 1위치 뒤집고 좌우로 지속적으로 확인하면서 같은 경우라면 값을 뒤집음.다른 값이 나온다면 break 시킨다. 🚨주의 할 점출력시 20개씩마다 줄바꿈을 해주어야함!! 3. 자바스크립트 정답코드const fs = require('fs')const filepath = process.platform === 'linux' ? '/dev/stdin' : './input.txt';const input = fs.readFileSync(filep..
1. 문제 정보https://www.acmicpc.net/problem/4396 2. 풀이 로직1. mines 배열을 생성하여 지뢰 정보를 담습니다.2. 사용자가 밟은 지역을 표시하는 opend 배열을 만듭니다.3. 각 지역을 순회하며, 만약 해당 위치가 'x'라면 주변 8방향으로 지뢰의 개수를 확인하고 표시합니다.4. 사용자가 지뢰를 밟은 적이 있다면, 모든 지뢰를 공개합니다.5. 최종 보드를 출력합니다. 📛 실수할 수도 있는 부분'x' 자리에 지뢰가 있다면, 'x'와 상관없이 모든 지뢰를 공개해야 합니다. 이를 판단하기 위해 hitMine 변수를 사용합니다. 3. C++ 정답 코드#include #include using namespace std;void printResult(int N);char..