목록분류 전체보기 (157)
DevYoon
link 🔗 https://www.acmicpc.net/problem/20056 20056번: 마법사 상어와 파이어볼 첫째 줄에 N, M, K가 주어진다. 둘째 줄부터 M개의 줄에 파이어볼의 정보가 한 줄에 하나씩 주어진다. 파이어볼의 정보는 다섯 정수 ri, ci, mi, si, di로 이루어져 있다. 서로 다른 두 파이어볼의 위치 www.acmicpc.net 🦈 파이어볼을 모두 합쳐 나눌 때, 0이면 소멸된다는 조건을 적용하지 않아서 답이 한동안 안 나왔었다. 🦈 평소와 달리 2차원 board 리스트를 생성할 때 0이 아닌 []으로 생성해줬는데, 이를 고려하지 않아서 인덱스 에러가 나왔었다. import sys input = sys.stdin.readline dir = [(-1, 0), (-1, 1)..
link 🔗 https://www.acmicpc.net/problem/7490 7490번: 0 만들기 각 테스트 케이스에 대해 ASCII 순서에 따라 결과가 0이 되는 모든 수식을 출력한다. 각 테스트 케이스의 결과는 한 줄을 띄워 구분한다. www.acmicpc.net 📌 DFS로 +, -, 공백의 경우를 타고 들어가주었다. 📌 DFS 내부에서 계산 결과를 가지고 다녀보았는데, 생각처럼 계산 결과가 잘 나오지 않았다. 📌 따라서 마지막 숫자를 모두 사용했을 때, 만들어진 문자열을 eval 메소드를 통해 계산하고, 값이 0이면 res 리스트에 추가해주는 식으로 해결하였다. 📌 문자열 내부에서 공백을 사용한 경우를 대비해 replace 메소드로 공백을 없애준 후 eval 메소드를 사용하였다. def DFS..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/77484 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr ✏️ grade 리스트를 생성, 해당 인덱스(로또 일치 개수)에 맞는 순위를 적어줌 ✏️ 로또 번호와 일치하는 숫자의 개수를 세어줌 ➡️ 최저 순위 ✏️ 알아볼 수 없는 번호의 개수를 세어주고 위의 로또 번호와 일치하는 숫자의 개수와 합쳐줌 ➡️ 최고 순위 function solution(lottos, win_nums) { var answer = []; var cnt = 0; var ..
link 🔗 https://www.acmicpc.net/problem/9328 9328번: 열쇠 상근이는 1층 빌딩에 침입해 매우 중요한 문서를 훔쳐오려고 한다. 상근이가 가지고 있는 평면도에는 문서의 위치가 모두 나타나 있다. 빌딩의 문은 모두 잠겨있기 때문에, 문을 열려면 열쇠가 www.acmicpc.net 📌 주의할 점 - 상근이는 빌딩 가장자리의 벽이 아닌 곳을 통해 빌딩 안팎을 드나들 수 있는데, 문제에서 주어지는 빌딩을 .으로 감싸 들어갈 입구를 마련해주었다. - 열쇠를 주웠으면 이제껏 가지 못했던 곳을 갈 수 있으므로 (문을 열어서) visit배열을 초기화해준다. 🖥️ Pypy3 통과 import sys from collections import deque input = sys.stdin.r..
최근 여기저기 조금씩 지원해보면서 깃허브 링크를 첨부하게 되는데, 깃허브가 너무 휑-하다는 생각이 들었다🥲 프로젝트는 깃랩에서, 알고리즘 문제 푼 거나 공부한 것들은 다 블로그에 올리다 보니...😶🌫️ 그래서 지금부터라도 깃허브를 관리해보자! 라는 마음으로, 프로필부터 정비해보았다. 📸 완성샷! 구경은 여기서😌 만들고 보니 볼 때마다 뿌듯!!🤗 다음에 나도 또 참고할 겸 만들 때 사용한 방법을 써볼까 한다! 1️⃣ 깃허브 레포 생성하기 - 깃허브 아이디와 동일한 이름으로 레포지토리를 생성하면 깃허브 고양이가 ✨special✨ 레포지토리를 만들 수 있다고 알려준다. 이 레포지토리의 README가 소개글을 작성할 바탕이 된다. - 하단에 ⭐ Add a README file ⭐ 잊지 말고 체크!! 2️⃣ H..
link 🔗 https://www.acmicpc.net/problem/21610 21610번: 마법사 상어와 비바라기 마법사 상어는 파이어볼, 토네이도, 파이어스톰, 물복사버그 마법을 할 수 있다. 오늘 새로 배운 마법은 비바라기이다. 비바라기를 시전하면 하늘에 비구름을 만들 수 있다. 오늘은 비바라기 www.acmicpc.net ✏️ 구름이 이동할 땐 첫번째 행,열과 마지막 행,열이 연결되어 있지만 대각선에 바구니를 확인할 땐 연결되어 있지 않다는 것을 잘 생각해야 하는 문제였다. ✏️ 처음 푼 코드로는 시간초과가 났다. 구름이 사라진 칸인지 확인하는 과정에서 not in을 썼는데, 이를 배열을 하나 만들어 체크해주는 식으로 바꾸어 시간초과를 해결했다. 📌 시간초과 난 코드 import sys inpu..
데이터 타입 1️⃣ 데이터 타입의 종류는 어떤 것들이 있나요? ✏️ 데이터 타입이란… 프로그래밍 언어에서 사용할 수 있는 데이터 (숫자, 문자열, 불리언 등) 의 종류를 일컫는 말 JS의 데이터 타입 종류는? 원시 타입 1️⃣ Number 가능한 연산자 : + - / & % 같은 수 판별 : === (일치 연산자) NaN : Not a Number, 유효하지 않은 숫자 let a = 0; let b = 0; let c = a / b; /* NaN */ 값이 NaN인지 궁금하다면 ➡️ isNaN(숫자) : true/false 무한대 : Infinity(양의 무한대) / -Infinity(음의 무한대) 2️⃣ String 문자열 붙이기 : 문자+문자 문자열 비교 : ===(일치 연산자) 길이 구하기 : 문자..
link 🔗 https://school.programmers.co.kr/learn/courses/30/lessons/42576?language=javascript 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 📌 효율성 테스트 통과 못한 코드 function solution(participant, completion) { var answer = ""; participant.map((word)=>{ if(completion.includes(word)){ let where = completion.indexOf(word) completion.splice(whe..
link 🔗 https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 📌 투포인터를 사용하여 부분합을 구해주는 문제였다. 📌 sum이 S보다 크거나 같으면 어디까지 길이를 줄일 수 있는지 확인하고 📌 sum이 S보다 작으면 e를 늘려 더해준다. import sys N, S = map(int, sys.stdin.readline().split()) seq = list(map(int, sys.stdin.readline().split())) s,..
link 🔗 https://www.acmicpc.net/problem/16434 16434번: 드래곤 앤 던전 첫 번째 줄에 방의 개수 N (1 ≤ N ≤ 123,456) 과 용사의 초기 공격력 HATK (1 ≤ HATK ≤ 1,000,000) 가 주어집니다. i+1번째 줄엔 i번째 방의 정보를 나타내는 세개의 정수 ti, ai, hi (ti ∈ {1, 2}, 1 www.acmicpc.net 📌 몬스터 방일 경우와 포션 방일 경우를 나누어 생각해보았다. 📌 몬스터 방일 경우, 용사가 n번 공격하면 드래곤은 n-1번 공격한다는 점에서 착안하여 1️⃣ 몬스터의 생명력이 용사의 공격력으로 딱 나누어질 때는 1을 빼준다 2️⃣ 몬스터의 생명력이 용사의 공격력으로 딱 나누어지지 않을 때는 1을 빼주지 않는다. 📌..