[백준(Python)] 1343번 : 폴리오미노
·
Coding Test/백준
문제https://www.acmicpc.net/problem/1343 1343번: 폴리오미노첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다.www.acmicpc.net코드n = str(input())n = n.replace("XXXX","AAAA")n = n.replace("XX","BB")if 'X' in n: print(-1)else: print(n)해설그냥 문자대로 replace하고, 하고 난 이후에도 'X'가 존재하면 -1 출력하고, 존재하지 않는다면 바뀐 문자열을 출력하면 된다.
[Node.js] Socket.IO - 양방향 통신
·
Back/node.js
Socket.IO란 ?웹 어플리케이션에서 양방향 실시간 통신을 구현하기 위한 JS 라이브러리. WebSocket 프로토콜을 기반으로 하며, 웹 소켓이 지원되지 않는 환경에서는 Polling 등 다양한 방법을 사용하여 실시간 통신을 지원함.주요 특징실시간 양방향 통신 : 웹 소켓을 사용하여 서버와 클라이언트 간에 양방향 통신을 구현.폴링 및 기타 전송 방법 지원 : 웹 소켓을 사용할 수 없는 환경에서도 폴링, 롱 폴링 등 다양한 전송 방법을 활용하여 실시간 통신을 지원.Room 및 Namespace : 여러 개의 룸이나 네임스페이스를 생성하여 클라이언트를 그룹화하거나 특정 이벤트를 특정 그룹에게만 전송다양한 이벤트 : 서버 및 클라이언트 간에 사용자 정의 이벤트를 정의하고 처리할 수 있음. 특정 상황이나 ..
[백준(Python)] 2847 : 게임을 만든 동준이
·
Coding Test/백준
문제https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어www.acmicpc.net코드n = int(input())score = []cnt = 0for _ in range(n): score.append(int(input()))for i in range(n-1, 0, -1): #1씩 빼서 오름차순으로 만드는 것이 목표 if score[i] 해설cnt += (score[i - 1] - score[i] + 1)1 더 작은 수를 만들기 위해서 뺀 값에서 1을 더함sc..
[백준(Python)] 2579번 : 계단 오르기
·
Coding Test/백준
문제https://www.acmicpc.net/problem/2579과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점" data-og-host="www.acmicpc.net" data-og-source-url="https://www.acmicpc.net/problem/2579" data-og-url="https://www.acmicpc.net/problem/2579" data-og-image="https://scrap.kakaocdn.net/dn/cgA7v6/hyUEZxXkZi/rZyZUWSPrJGkliDjBJIaS1/img.png?width=2834&height=1480&face=0_0_2834_1480,https://scrap.kakaocdn.net/dn/cB..
[프로그래머스(Python)] 문자열 나누기
·
Coding Test/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/140108 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 코드def solution(s): answer, cnt1, cnt2 = 0, 0, 0 for i in s: if cnt1==cnt2: answer+=1 k=i if k==i: cnt1+=1 else: cnt2+=1 return answe..
[프로그래머스(Python)] 전화번호 목록
·
Coding Test/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/42577 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(phone_book): phone_book.sort() # 전화번호부 정렬 for i in range(len(phone_book)-1): # 정렬된 전화번호부에서 인접한 번호 비교 if phone_book[i+1].startswith(phone_book[i]): # 현재 번호가 인접한 번호의 접두사인지 확인 return Fals..
[프로그래머스(Python)] 완주하지 못한 선수
·
Coding Test/프로그래머스
문제https://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr코드def solution(participant, completion): # 참가자와 완주자를 정렬함. participant.sort() completion.sort() for p, c in zip(participant, completion): # 각 쌍을 비교하고 완주하지 못한 참가자를 찾음 if p != c: return p ..
RESTful API
·
Back
REST(Representational State Transfer) 정의 자원(resource) 의 표현에 의한 요청정보 전달 JSON 또는 XML 데이터로 응답 Web의 기존 기술과 HTTP 프로토콜을 활용하는 통신 방식 개념 HTTP URI를 통해 자원(resource) 을 명시하고, HTTP Methode(POST, GET, PUT, DELETE) 를 통해 해당 자원에 대한 CRUD 기능을 적용하는 것을 의미함. API(Application Programming Interface) 란? 데이터와 기능의 집합을 제공하여 컴퓨터 프로그램간 상호작용을 촉진하며, 서로 정보를 교환가능 하도록 하는 것 REST API 정의 REST 기반으로 서비스 API를 구현한 것 OpenAPI(누구나 사용할 수 있도록 ..
[Node.js] ejs 문법
·
Back/node.js
include 문법, 특수한 문법들 사용include는 ejs 파일 분할 시 사용 기능 유사html 태그처럼 넣어 주는 게 아니라 문자로 바뀜,JSON.stringify(글목록) html 사이에 자바스크립트 넣을 때 사용
REST API
·
Back
REST API Representational State Transfer 를 잘 따르는 API = 좋은 API 디자인하는 원칙 6개 Uniform Interface (일관성) 일관성있는 URL : /movie -> /movie/1 ~ /movie/10 ~ ... 하나의 URL + method는 하나의 데이터를 보내야 함. Client - Server 구분 유저에게 서버역할 맡기지 않기. Stateless 요청끼리 서로 의존성이 있으면 안됨, 각각 독립적으로 처리. Cacheability 요청은 캐싱이 가능해야함 => 자주 수신되는 자료들은 요청 날리지 않고 하드에 저장해놓고 사용. Layered system 요청 하나는 최종 응답 전까지 여러 단계를 거쳐도 됨. Code on demand 서버는 유저에게..