본문 바로가기

Archived(CSE Programming)

(169)
프로그래머스 - 조이스틱(파이썬, LV2) / 그리디(Greedy) https://programmers.co.kr/learn/courses/30/lessons/42860?language=python3 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr 먼저 strSol을 'AAAA....' 로 두고 시작점 cursor는 0이다. 이 때 strSol cursor의 위치에 해당하는 name 값으로 변경하고, 현재 가장 가까운 A가 아닌 name의 문자열의 위치로 가서 strSol을 바꾼다. 여기서 그리디는 2가지가 된다. 상하의 값 중 현재 가장 최소값으로 변경한..
프로그래머스 - 순위(파이썬, LV3) https://programmers.co.kr/learn/courses/30/lessons/49191 코딩테스트 연습 - 순위 5 [[4, 3], [4, 2], [3, 2], [1, 2], [2, 5]] 2 programmers.co.kr 정답 출처 : 멍토의 IT블로그 와샬플로이드 알고리즘으로 접근하는 방식 그러나, 그렇게까지 생각이 안나서, 로직만을 생각했다. 로직은 맞았으나 구현방식이 계속 틀려서 정답을 참조했다ㅠㅠ win[i] -> {} i가 이긴 사람들 집합 lose[i] -> {} i를 이긴 사람들 집합 의 리스트를 준비하고 경기결과를 전체 파싱해서 채워 넣는다. 그리고 이제 i를 이긴 사람들에게 이긴 사람들은 전부 i를 이길 수 있다 또한 i에게 진사람들은 i가 진사람들에게도 전부 진다. 이..
프로그래머스 - 자물쇠와 열쇠 (파이썬, LV3) https://programmers.co.kr/learn/courses/30/lessons/60059 코딩테스트 연습 - 자물쇠와 열쇠 [[0, 0, 0], [1, 0, 0], [0, 1, 1]] [[1, 1, 1], [1, 1, 0], [1, 0, 1]] true programmers.co.kr 2020 KAKAO 문제 간과했던 내용 Lock과 Key의 크기가 다를 수 있던 점 Board(전체 배열)의 크기는 Lock의 2배가 아닌 3배여야 한다는 점 회전 배열이 바로 안떠올랐던 점(값을 적어서 확인해봄) 돌기끼리 부딪혀도 안된다는 점(무조건 매끄러운 1이 되야함, 2도 안됨) 풀이 자물쇠 3배 크기의 전체 배열을 구성한다. 해당 전체 배열에서 자물쇠를 중간(start~end) 부분에 값을 옮긴다. 그..
프로그래머스 - 가장 긴 팰린드롬(파이썬, LV3) https://programmers.co.kr/learn/courses/30/lessons/12904?language=python3 코딩테스트 연습 - 가장 긴 팰린드롬 앞뒤를 뒤집어도 똑같은 문자열을 팰린드롬(palindrome)이라고 합니다. 문자열 s가 주어질 때, s의 부분문자열(Substring)중 가장 긴 팰린드롬의 길이를 return 하는 solution 함수를 완성해 주세요. 예를들 programmers.co.kr 해당 문제는 문자열 핸들링 문제로 접근하였다. 팰린드롬은 reverse를 해도 똑같은 문자열을 뜻하는데, (예 aba, abba) 주어진 문자열 내에서 가장 긴 팰린드롬의 길이를 찾는 문제였다. 처음에는 특정 문자열을 기준으로 계속 앞뒤로 한칸씩 이동해서 같은 문자일 때만 카운트..
프로그래머스 타겟 넘버 https://programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 자바 공부 겸 프로그래머스 탐색 Level2의 비교적 쉬운 난이도 문제를 풀어봤다. 일반적인 DFS 문제로 접근하면 되며 체크 idx에 도달하면 값을 비교하여 정답을 count 하면 된다. import java.util.*; public class Solution { int glb_answer = 0; int glb_target = 0; public void print(int n){ System.out.pri..
R에 대한 소개 및 기본 문법 대용량 데이터 처리 및 분석에 있어 최근 가장 각광받는 언어는 R을 들 수 있다. 세계적으로는 물론, 국내에서도 학계와 커뮤니티, 연구소 등에서도 연구가 활발히 이루어지고 있다. R이 이렇게까지 주목 받을 수 있는 이유는 크게 3가지 정도를 들 수 있다. 오픈 소스 기반의 무료 소프트웨어: 대부분의 상업용 통계 소프트웨어 플랫폼은 수천에서 수만 달러 비용이 요구되는 반면에, 오픈 소스로 얼마든지 무료로 이용가능하다. 포괄적인 통계 플랫폼: 대용량 데이터 처리 및 적재는 물론, 다양한 분석 툴고 전문 통계 패키지들을 활용하여 보다 편리한 데이터 처리 및 분석이 가능하다. 시각성: 대규모 데이터에서 분석 결과를 직관적으로 이해할 수 있도록 시각화할 수 있으며, 또한 이차원 평면상에서도 데이터의 다차원 구조를..
SQL_DML 지난 DB 수업 복귀 SELECT , 함수(단일행 / 그룹), JOIN(ON, USING, OUTER), 단일행 서브쿼리/ 복수행 서브쿼리, DDL(5가지 제약조건 NOT NULL, PRIMARY, REFERENCES, CHECK), 외래키, ... # UPDATE 수정 테이블에 포함된 기존 데이터 수정 UPDATE table_name SET col_name = value , [, col = val, ...] [ WHERE condition ] ; SET 서브쿼리 사용 가능, DEFAULT 옵션 사용 가능(DEFAULT 옵션이 들어간 COLUMN에 대해서 적용 가능, DEFAULT 없으면 NULL 삽입) (SUBQUERY 활용시 단일 행, 단일 열 서브쿼리로 수행) DDL 수행 후 종료하면 AUTO Co..
SQL_DDL # 목표 데이터를 저장하는 테이블을 생성할 수 있다 테이블 구조를 변경할 수 있다 제약 조건을 사용하여 데이터 무결성을 보장할 수 있다 뷰를 생성하고 활용할 수 있다 시퀀스 생성 및 활용할 수 있다 인덱스 개념을 이해학 쿼리 성능 향상을 위해 인덱스를 활용할 수 있다 # TABLE CREATE TABLE COLUMN CONSTARINT TABLE CONSTRAINT Naming Rule > 30자 이하, 문자로 시작, 키워드 사용불가 등 -- TABLE 만들기 CREATE TABLE ORDERS (ORDERNOCHAR(4) CUSTNOCHAR(4) ORDERDATEDATE DEFAULT SYSDATE SHIPDATEDATE SHIPADDRESS DATE QUANTITYNUMBER); # CREATE 생성..