CS

CS/Data Structure & algorithm

[Algorithm] 백준 2841 - 외계인의 기타 연주 (Node / C#)

문제https://www.acmicpc.net/problem/2841풀이1. Node.js(fs)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 첫 번째 줄에서 음의 수 N과 프렛의 수 P를 파싱const [N, P] = input[0].split(' ').map(Number);// 각 줄별로 프렛을 누르고 있는 상태를 저장할 배열const strings = Array.from({ length: 7 }, () => []);let fingerMoves = 0;// 각 음을 처리for (let i = 1; i 0 && strings[string][strings[string]..

CS/Data Structure & algorithm

[Algorithm] 백준 2716 - 원숭이 매달기 (Node / C#)

문제https://www.acmicpc.net/problem/2716풀이1. Node.js(fs)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 테스트 케이스 수 파싱const N = parseInt(input[0]);// 각 테스트 케이스에 대한 결과를 저장할 배열const results = [];// 덩굴 구조를 분석하는 함수function analyzeVine(structure) { let depth = 0; let maxDepth = 0; // 문자열의 각 문자를 순회 for (let char of structure) { i..

CS/DB

[Oracle] Synonym?

Oracle을 사용하다보니 테이블 대신 Synonym을 쓰는 경우가 종종있던데 왜그런걸까?Synonym을 사용하는 이유접근 편의성: 사용자가 객체의 소유자와 위치를 명시할 필요 없이 간단한 이름으로 객체에 접근할 수 있다.보안 및 권한 관리: Synonym을 통해 원본 객체의 세부 정보를 숨기고, Synonym에 대한 권한을 제어함으로써 보안을 강화할 수 있다.어플리케이션 독립성: 테이블이나 다른 객체의 위치가 변경되더라도 Synonym을 사용하면 어플리케이션 코드를 변경하지 않고도 동작할 수 있다.다중 스키마 간의 호환성: 여러 스키마 간의 객체 접근을 간단하게 만들어 준다.예시예제 시나리오스키마 구성: sales, hr, finance테이블: sales 스키마에 orders 테이블이 있고, hr 스키..

CS/Data Structure & algorithm

[Algorithm] 백준 2304 - 창고 다각형 (Node / C#)

문제https://www.acmicpc.net/problem/2304풀이1. Node.js(fs)const fs = require('fs');const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');// 기둥의 개수 파싱const N = parseInt(input[0]);// 기둥 정보 파싱 및 정렬const pillars = input.slice(1).map(line => { const [L, H] = line.split(' ').map(Number); return { L, H };}).sort((a, b) => a.L - b.L);// 가장 높은 기둥 찾기let maxHeight = 0;let maxIndex = 0..