본문 바로가기

전체 글147

두 정수 사이의 합 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12912 a와 b의 크기에 따라 범위를 나누어서 풀면 된다. range범위에 알맞게 적용시킨 후 answer을 return하면 끝..! def solution(a, b): answer = 0 if a 2020. 5. 11.
나누어 떨어지는 숫자 배열 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12910 for문만 잘 돌린다면 간단하게 풀 문제다! def solution(arr, divisor): answer = [] for i in arr: if not i%divisor: answer.append(i) if len(answer)==0: answer.append(-1) answer.sort() return answer 2020. 5. 11.
크레인 인형뽑기 (2019 카카오 겨울 인턴십 기출) 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/64061 문제를 차근차근 잘 읽어서 배열이 인형뽑기 라인에 어떻게 놓이는 지만 안다면 쉽게 풀 수 있는 문제다. 쌓인 두개의 캐릭터가 같을 때 없애줘야하는데 del을 썼다가 range 오류로 헤맸다. 다시 생각해보고 0으로 바꾼 다음, 0은 어차피 공백이니 넘어가는 식으로 바꾸어서 실행이 잘 되었다..! def solution(board, moves): count=0 result=[] for move in moves: for i in range(len(board)): if board[i][move-1]: result.append(board[i][move-1]) board[i][move-1]=0 if.. 2020. 5. 11.
Javascript ※이 포스팅은 sopt 26기 server part seminar 자료 바탕으로 작성되었으며, 복습용입니다. 1-1. Javascript란? Javascript는 객체 기반 스크립트 언어 (=인터프리터 언어) 다. 여기서 스크립트 언어는 -코드를 한 줄씩 번역하고 실행한다. -실행 속도가 컴파일 언어에 비해 느리다. -타입을 명시하지 않는다. -*프로토타입 기반의 객체지향 언어다. *프로토타입 기반 프로그래밍은 객체지향 프로그래밍의 한 형태의 갈래로 클래스가 없고, 클래스 기반 언어에서 상속을 사용하는 것과는 다르게, 객체를 원형(프로토타입)으로 하여 복제의 과정을 통하여 객체의 동작 방식을 다시 사용할 수 있다. 그럼 스크립트 언어에 반대되는 개념은 컴파일 언어라고 할 수 있다. 컴파일 언어의 대표적인.. 2020. 5. 10.
client와 server ※이 포스팅은 sopt 26기 server part seminar 자료 바탕으로 작성되었으며, 복습용입니다. server에 대해 공부하려면 먼저 server가 무엇인지 알아야한다. 프로젝트를 진행하면 한번 이상은 꼭 들어봤을 client와 server에 대해 알아볼 것이다. client : 요청을 보내는 주체 -> 서비스 요청자, 서비스를 사용하는 사용자(브라우저, 데스크톱프로그램, 모바일 앱), 다른 서버 server : 서비스 자원의 제공자 -> 네트워크를 통해 클라이언트에게 서비스 및 정보를 제공, 다른 서버에게 요청을 보내기도 함 대표적인 예로 월드와이드웹이 있다. 웹사이트에서 웹서버는 서버 역할을 하며, 웹브라우저는 클라이언트 프로그램 역할을 한다. 근래에는 클라이언트인 동시에 서버일 수 있다. 2020. 5. 10.
range 사용하기 거의 모든 파이썬 알고리즘 문제풀이 사용되는 range에 대해 알아볼 것이다. +여기서 print(i, end=' ')를 해준것은 print(i)로 하면 한 라인에 하나의 i씩 출력되기 때문에 보기 깔끔하게 하려고 한 것이다..! for i in range(3): print(i, end=' ') #0 1 2 for i in range(0,3): print(i, end=' ') #0 1 2 for i in range(0,3,1): print(i, end=' ') #0 1 2 위의 세 range의 범위는 모두 같다. range(i)이면 범위는 0부터 i-1까지, range(0,i)이면 범위는 0부터 i-1까지, range(0,i,1)이면 범위는 0부터 i-1까지 1씩 커진다. 즉, i만 지정해준다면 defa.. 2020. 5. 6.
두 정수 사이의 합 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12912 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수를 작성해야 한다. a와 b가 같은 경우는 둘 중 아무 수나 리턴하는 조건이 주어져있고, a>b일 수도, a 2020. 5. 5.
나누어 떨어지는 숫자 배열 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12910 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수를 작성해야하고, divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환해야한다. 먼저 for문으로 arr를 돌아가면서 if문을 이용해 divisor로 나누어지면 새로 생성한 answer에 삽입해준다. 그리고 나누어 떨어지는 element가 하나도 없으면 answer의 길이는 0이 되기 때문에 -1를 삽입해준다. 마지막으로 answer을 정렬해서 반환해주도록 한다. def solution(arr, divisor): answer = [] for i i.. 2020. 5. 5.
같은 숫자는 싫어 문제 출처 : https://programmers.co.kr/learn/courses/30/lessons/12906 예시로 arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return하는 문제를 풀어야 한다. 문제를 제대로 읽지 않는다면 set을 사용해서 풀 수도 있을 것이다. 하지만 여기 return 되는 배열을 보면 1이 두 번이나 있기 때문에 set을 사용하지 않아야 한다. 나는 여기서 새로운 list(->result)를 생성해주고 arr의 제일 첫번째 값을 미리 넣어뒀다. 이후 for문을 돌면서 현재 원소가 result의 마지막 원소와 같지 않을때만 삽입해주도록 해놓았다. def solution(arr): result=[] #새로운 배열 생성 result.appe.. 2020. 5. 5.