목록분류 전체보기 (424)
코딩항해기
이번에는 파이썬으로 같은 문제를 풀이하고 풀이한 사람들과 코드를 공유하고 리뷰하는 시간을 가지며 문제를 풀이했다. 혼자 풀이할 때보다 같이 코드를 공유하고 개선점을 논의하며 발전해나가는 과정이 더 재밌는 것 같다! :D Pythonimport mathdef solution(n, words): answer = [] #입력받은 키워드만큼 반복 #배령에 해당 키워드가 있거나 바로 직전 단어의 마지막 단어로 시작하지 않는다면 #i나머지n+1은 번호 #i나누기n+1은 차례 #종료 #기록에 키워드를 저장 #전부 실행했는데도 빈 배열이라면 0,0을 저장 #번호 차례 history = [words[0]] #게..
JAVApackage src.test;public class ModeStr {// 문자열 code가 주어집니다.// code를 앞에서부터 읽으면서 만약 문자가 "1"이면 mode를 바꿉니다. mode에 따라 code를 읽어가면서 문자열 ret을 만들어냅니다.// mode는 0과 1이 있으며, idx를 0 부터 code의 길이 - 1 까지 1씩 키워나가면서 code[idx]의 값에 따라 다음과 같이 행동합니다.// mode가 0일 때// code[idx]가 "1"이 아니면 idx가 짝수일 때만 ret의 맨 뒤에 code[idx]를 추가합니다.// code[idx]가 "1"이면 mode를 0에서 1로 바꿉니다.// mode가 1일 때// code[idx]가 "1"이 아니면 idx가 홀수일 때만 ret의 맨 ..
UnicodeDecodeError 파일 인코딩 디코딩 과정 중 자주 발생하는 에러로 encode 타입을 재확인해야한다. 해당 파일이 지정한 인코딩을 지원하지 않는 경우도 있기 때문이다. TypeError타입이 불일치해 발생한 에러이다. CSV파일을 읽을 때 reader를 list처럼 인덱싱하려고 했기 때문에 발생했다 csv의 reader는 이터레이터이기 때문에 직접 인덱싱할 수 없으며, list(reader)로 형변환을 하면 인덱싱할 수 있다. IndexErrorreader를 한 번 읽고 난 후에 다시 읽으려고 해서 발생한 문제로 reader는 이터레이터로 한 번 읽고나면 지나가버리기 때문에 다시 처음부터 읽을 수는 없다. 받아온 데이터를 저장한 뒤 재활용하는 방식으로 해결할 수 있다.
파이썬은 데이터 시각화에 유용한 언어이다. 데이터 시각화를 하기 위해서는 데이터가 있어야하는데, 이 글에서는 데이터를 불러오는 방식에 대해 정리할 예정이다. 먼저 CSV란, 표 형태의 데이터이다. [DBMS] Oracle에서 MySQL로 데이터 이관 (CSV/DBeaver)CSV (Comma Separated Values)표 형태의 데이터를 저장하는 파일 형식이다. 각 줄은 하나의 행에 해당하고 각 열 사이에는 쉼표(Comma)를 넣어 구분하며 이 때 모든 행은 같은 개수의 열을 가져야한다. 줄minibcake.tistory.com 엑셀의 형태를 띄고 있어 엑셀 프로그램으로 열어서 쉽게 데이터를 조작하거나 확인할 수 있다. 데이터 불러오기파이썬에서는 데이터 파일을 간단하게 불러올 수 있다. 상대경로 또..
JAVApackage test;import java.util.Arrays;public class Desc { public static void main(String[] args) { int num = 3; int total = 12; System.out.println("3,4,5 : "+ Arrays.toString(solution(num, total))); } public static int[] solution(int num, int total) { //등차수열을 활용해 시작번호 구하기 //(total - num*(num-1)/2) / num //num만큼 반복해 시작 번호를 배열에 저장 //배열 반..
JAVApackage test;public class Login { /*머쓱이는 프로그래머스에 로그인하려고 합니다. 머쓱이가 입력한 아이디와 패스워드가 담긴 배열 id_pw와 회원들의 정보가 담긴 2차원 배열 db가 주어질 때, 다음과 같이 로그인 성공, 실패에 따른 메시지를 return하도록 solution 함수를 완성해주세요.*/ public static void main(String[] args) { //확인용 String[] id = {"test", "123"}; String[] id2 = {"rardss", "123"}; String[] id3 = {"rardss", "1234"}; String[][] db = ..
PostgreSQLPostgreSQL은 확장 가능성 및 표준 준수를 강조하는 객체-관계형 데이터베이스 관리 시스템(ORDBMS)의 하나이다. BSD 허가권으로 배포되며 오픈소스 개발자 및 관련 회사들이 개발에 참여하고 있다. 데이터베이스 서버로서 주요 기능은 데이터를 안전하게 저장하고 다른 응용 소프트웨어로부터의 요청에 응답할 때 데이터를 반환하는 것이다. 소규모의 단일 머신 애플리케이션에서부터 수많은 동시 접속 사용자가 있는 대형의 인터넷 애플리케이션(또는 데이터 웨어하우스용)에 이르기까지 여러 부하를 관리할 수 있으며 macOS 서버의 경우 PostgreSQL은 기본 데이터베이스이다. 객체 관계 데이터베이스 ORDBMS객체지향 데이터베이스 모델을 가진 관계형 데이터베이스 관리 시스템을 의미한다. 소프..
문제를 JAVA와 Python 두 가지로 풀어보며 두 언어의 차이를 알며 Python 공부 진행 1. JAVApackage test;public class AvgArray { public static void main(String[] args) { //확인용 int[] arr = {89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99}; System.out.println(solution(arr)); } public static double solution(int[] arr) { double answer = 0; //입력받은 배열의 값을 모두 sum 변수에 저장 double sum = 0; ..
MongoDB오픈소스 비관계형 데이터베이스 관리시스템으로, 테이블과 행 대신 유연한 문서를 활용해 다양한 데이터 형식을 처리하고 저장한다. RDBMS를 필요로 하지 않으므로, 사용자가 다변량 데이터 유형을 손쉽게 저장하고 쿼리할 수 있는 탄력적인 데이터 저장 모델을 사용할 수 있다. 이 점은 개발자의 데이터베이스 관리를 간소화하고 확장성을 갖춘 크로스 플랫폼 및 서비스 환경을 구축한다. MongoDB는 문서 또는 문서 컬렉션이 기본 단위로, 이진 JSON형식으로 지정되어 다양한 데이터를 저장하고 분산처리할 수 있다. 동적 스키마 설계를 활용하기 때문에 유연성을 확보해 데이터 레코드를 생성하고 집계를 통해 문서 컬렉션을 쿼리하며, 대량의 정보를 분석한다. MongoDB는 C++로 작성된 오픈소스 문서지향(..
REST APIREST를 기반으로 만들어졌으며 REST Representational State Transfer 자원을 이름으로 구분하여 자원의 상태를 주고받는 모든 것을 의미한다. 즉, HTTP URI를 통해 자원을 명시하고 HTTP Method (POST, GET, PUT, DELETE, PATCH 등)을 통해 자원에 대한 CRUD를 적용하는 것을 의미한다.REST API란 REST의 원리를 따르는 API이다. CRUD OperationCreate : 데이터 생성(POST)Read : 데이터 조회(GET)Update : 데이터 수정(PUT, PATCH)Delete : 데이터 삭제(DELETE) REST 구성 요소자원(Resource) : HTTP URI자원에 대한 행위(Verb) : HTTP Meth..