본문 바로가기
[백준 10703번 유성/ JS] ✏️ 문제 링크https://www.acmicpc.net/problem/10703✏️ 문제 풀이 중력에 관련된 문제이다. 사실 어떻게 풀어야하나 고민이 됐는데, 일단 풀어보자는 마인드로 풀었다. 뭔가 알고리즘을 사용할 수 는 없을 것 같았고 구현을 빡세게 해야한다는 생각을 했다. 그래서 car의 위치 정보를 저장해두고 맨 아래 줄부터 한줄 씩 확인하면서 car가 들어갈 수 있는지 확인하는 로직을 구현했다. i는 row를 뜻하고 car에 저장된 j들은 column 위치를 뜻한다.  만약 n = 5라고 하면 i = 4부터 시작하는거다. (index = 0 부터 시작하기 때문에)1. i= 4일 때 car에 들은 input들의 정보를 확인한다. 첫번째 입력 값을 기준으로 하면 car에는 [[1,2,3,4], [.. 2024. 11. 14.
[Softeer] 수퍼바이러스 (level3, Javascript) ✏️ 문제 링크https://softeer.ai/practice/6292 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai ✏️ 문제 풀이Math.pow는 큰 숫자는 커버하지 못하기 때문에 지수 재귀 계산법으로 접근해야한다고 한다. 아래 이미지에서 보면 지수가 짝수인 경우, 홀수인 경우가 나뉘게 되고 지수가 1인 경우는 num을 return 해주면 된다. 이 로직대로 구현해주면 아래 코드와 같다.  ✏️ 문제 코드const readline = require('readline');const rl = readline.createInterface({input:process.stdin, output: process.stdout});let input = [];const DIV = 1000000.. 2024. 11. 13.
[Softeer] HSAT 7회 정기 코딩 인증평가 기출 - 순서대로 방문(level3, Javascript) ✏️ 문제 링크https://softeer.ai/practice/6246 Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai  ✏️ 문제 풀이백트래킹을 잘 익혀놓으면 쉬운 문제라고 생각한다. (백트래킹은 백준의 N과 M을 풀어보면 쉽게 익힐 수 있다. 꼭! ⭐️) 코드가 좀 길긴하지만! 사실 뜯어보면 별거 없다.. 데이터 저장하는 코드 반,,,ㅠ 백트래킹 부분 반이다. 내가 풀이한 코드의 방식은 백트래킹으로 갈 수 있는 모든 경로를 탐색하고 그 안에서 우리가 원하는 순서를 지키는 path가 있을 때 answer를 ++ 하는 방식이다.  1. 순서대로 방문을 해야한다고 했으니 순서대로 방문해야하는 위치의 index를 key, value로 저장해둔다. 2. 현재 path의 시작과 끝이 st.. 2024. 11. 13.
[Softeer] 21년 재직자 대회 예선 - 전광판(level2, Javascript) ✏️ 문제 링크https://softeer.ai/practice/6268/history?questionType=ALGORITHM Softeer - 현대자동차그룹 SW인재확보플랫폼 softeer.ai ✏️ 문제 풀이간단한 string 비교 문제로, 0부터 9까지 라이트가 켜진 위치 정보를 저장한다. 이렇게 인덱스를 정하고 이제 숫자별로 라이트가 켜진 부분을 저장하면 된다. 그렇게 하면 아래와 같은 스트링이 나온다. '-'는 아예 켜지지 않은 전광판을 의미한다. { '-':'0000000', 0:'1110111', 1:'0010010', 2:'1011101', 3:'1011011', 4:'0111010', 5:'1101011', 6:'1101111', 7:'1110010', 8:'1111111', 9:'.. 2024. 11. 12.
[프로그래머스] 타겟 넘버 / C++ / level2 ✏️ 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 문제 설명 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+1.. 2021. 10. 6.
[백준] 13701번: 중복 제거 ✏️ 문제 링크 https://www.acmicpc.net/problem/13701 13701번: 중복 제거 문제: N개의 정수 A1, A2, ..., AN 을 읽고, 이들 중에서 반복되는 수를 제외하고 남은 N'개의 수 B1, B2, ..., BN’ 을 입력된 순서대로 출력하시오. 이때, 0 ≤ Ai < 225 = 33554432, i=1,2,…,N. 입력의 개수 N은 1 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 배열을 선언하고 input으로 들어오는 숫자를 출력한적이 있는지 확인한다. 만약 출력한적이 있다면 중복되는 것이니 해당 숫자를 다시 출력하지 않고 만약 출력한적이 없다면 해당 숫자를 true로 만들어주고 input을 출력해준다. ✏️ 문제 코드 .. 2021. 10. 5.
[백준] 11811번: 데스스타 / C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/11811 11811번: 데스스타 젊은 제다이 이반의 임무는 데스스타에 침투하여 파괴하는 일이다. 데스스타를 파괴하기 위해서는 길이 N의 음이 아닌 정수 수열 ai가 필요하다. 그러나 이반은 이 수열을 가지고 있지 않다. 대 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 나와 어떤 수에 대해서 and 연산을 진행했을 때 특정한 숫자가 나온다는 것은 그 숫자만큼 1은 무조건 켜져있다는 것이다. 이렇게 생각했을 때 특정한 연산과 and 연산을 진행한 결과와 or연산을 진행하면 나의 최소한 켜져있어야 하는 1을 알 수 있고 이를 통해 내가 만족해야하는 최소값을 알 수 있다. ✏️ 문제 코드 #i.. 2021. 10. 5.
[백준] 3449번: 이진수 연산/ C++ ✏️ 문제 링크 https://www.acmicpc.net/problem/12813 12813번: 이진수 연산 총 100,000 비트로 이루어진 이진수 A와 B가 주어진다. 이때, A & B, A | B, A ^ B, ~A, ~B를 한 값을 출력하는 프로그램을 작성하시오. www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 string으로 받아서 각 문자열에 대해서 and, or, xor 연산을 진행해준다. ✏️ 문제 코드 #include using namespace std; int main(){ string a, b; cin>>a>>b; //and for(int i=0; i 2021. 10. 5.
[백준] 3449번: 해밍 거리 ✏️ 문제 링크 https://www.acmicpc.net/problem/3449 3449번: 해밍 거리 입력을 여러 개의 테스트 케이스로 이루어져 있다. 첫째 줄에는 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 두 줄로 이루어져 있다. 각 줄에는 이진수가 하나씩 주어진다. 두 이진 www.acmicpc.net ✏️ 문제 설명 (더보기 클릭 👆🏻) 더보기 ✏️ 문제 풀이 각 A, B를 XOR 연산을 하면 풀 수 있는 문제...인데!! C++로 비트다루는건 힘들다...ㅎㅅㅎ ✏️ 문제 코드 #include using namespace std; int main(){ int T; cin>>T; while(T--){ string a, b; cin>>a>>b; int n=a.size(); long A.. 2021. 10. 4.
반응형