본문 바로가기

분류 전체보기

(122)
[백준14502]연구소 1)문제분류 -DFS-BFS 2)해결방안 -기본 DFS와 BFS를 안다면 풀 수 있는 난이도? - 먼저 DFS로 3개의 막대를 세워보며 BFS로바이러스를 퍼뜨린다. - 그 후, 안전지대를 카운트 세며 크기비교하면, 가장 넓은영역을 알 수 있다. #include#include#include#include#includeusing namespace std; typedef struct v{int x, y;}v;queuevirous;int map[10][10];int xrr[4] = { 0,0,1,-1 };int yrr[4] = { 1,-1,0,0 };int n, m, hap;int ans = 0;//안전영역int BFS(){queuetemp;temp = virous;int chk[10][10] = { 0, };..
[백준 2151]거울설치 문제 : https://www.acmicpc.net/problem/2151 1)문제분류 -BFS -다익스트라 2)해결방법 - 거울설치는 45도 이다.그러므로 거울이 /와 \ (걍 이해하기쉽게 거울을 표현한 문자) 두가지로 꺾인다고 생각하고 문제를 푼다. 예) -> 오른쪽방향으로오는경우 / 을 만나면 ↑ \을 만나면 ↓ 오른쪽방향,왼쪽방향으로 갈때 거울반사에 의해 꺾이는 방향 동일하다. 위쪽방향,아래쪽방향으로 갈때 거울반사에 의해 꺾이는 방향 동일하다. - 대신 거울이 설치 될수있는 위치가 ' ! '라고 표현한것이므로 거울 설치 안하는 경우도 생각해줘야한다. 그냥 통과하는 경우도 고려해서 거울 설치 최소값을 구해야한다.! -현재 위치에서 바라보는 방향이 같다는 가정하에 ,이제것 설치한 거울 수가 적으면 큐..
JQuery 참고 https://opentutorials.org/course/1375/6630 라이브러리: 자주사용하는 로직을 재사용할 수 있도록 고안된 소프트웨어 Jquery-DOM을 내부에 감추고 보다 쉽게 웹 페이지를 조작할 수 있도록 돕는 도구이다. *DOMDocument Object Model로 웹페이지를 자바스크립트로 제어하기 위한 객체 모델을 의미 [라이브러리 다운방법]=>jquery 홈페이지에 들어가서 라이브러리 다운 받은후, 자바스크립트에 url 불러온 후(불러오는 코드 홈페이지에 있으므로 copy &paste) 소스 작성한다 //jquery를 통해 들어올 내용이 여기 적힌다. //jquery를 로드하는 방법 ! 항상 파란색글자 써진부분의 형식대로 쓰고 //내 생각을 담아 코딩할 부분은 빨간색글자 부..
AJAX 참고 : https://opentutorials.org/course/1375/6842 [목표] 자바스크립트를 이용해서 웹브라우저의 통신기능을 사용하는 방법을 알아보자. 그 중 AJAX의 특징이자 장점은 -서버와 클라이언트간의 데이터를 주고 받는 형식이다 - JSON과 페이지 리로드 없이 웹페이지의 내용을 변경할수 있다 - 웹애플리케이션을 구축하는데 중요하다. Ajax는 Asynchronous JavaScript and XML의 약자= 자바스크립트를 이용해서 비동기적으로 서버와 브라우저가 데이터를 주고 받는 방식을 의미이 때 사용하는 API가 XMLHttpRequest이다. 현재 상태를 확인하는 xmlhttpRegqeust 객체의 이벤트핸들러: onreadystatechange()이걸 이용해서 서버쪽을 몰..
modbus 통신 중 자주 생기는 에러 regs = self.con.read_holding_registers(self.Start, self.End) #ad_value는 그냥 읽을 인덱스가 담긴 변수임 num = regs[ad_value] modbus통신을 통해 register의 값을 읽으려 할때마다 .. 자주 발생되는 에러가 있다. TypeError: 'NoneType' object is not subscriptable 이에러의 원인은 일반적으로 " 'SomeType'object is subscriptable not errors '는 해당 기능이없는 객체의 색인을 생성하려고 시도했음을 의미한다고 한다. 예시>my_var = None x = my_var[0] 참고 https://www.reddit.com/r/learnpython/comments..
Python list,dictionary #리스트를 dictionary안에 추가할때 이용,, self.name은 현재 리스트 dict(zip(range(len(self.name)), self.name)) dict(zip(range(len(self.mag)), self.mag)) dict(zip(range(len(self.ad)), self.ad)) dict(zip(range(len(self.type)), self.type)) # 딕셔너리에 리스트의 값 담기 dic_list=[] for idx, val in enumerate(self.data): dic = {} dic[self.name[idx]] = val list(zip(range(len(dic)),dic)) dic_list.append(dic)
Python dictionry에 list추가 및 csv파일 읽기 ''' 리스트에는 .append() 메소드를 사용해서 새로운 요소를 추가할 수 있지만 튜플은 불가능하다. 리스트와 튜플의 기술적 차이점은 불변성에 있다. 리스트는 가변적(mutable, 변경 가능)이며 튜플은 불변적(immutable, 변경 불가)이다. 이 특징이 파이썬 언어에서 둘을 구분하는 유일한 차이점이다. ''' import csv f = open('FilteringData.csv', 'r', encoding='EUC-KR') rdr = csv.reader(f) #리스트생성 name =[] mag=[] ad=[] type=[] #colum으로 [0]// [1]//[2] ... 한줄씩 뽑기가능 for line in rdr: if line[0]=="PCS": name.append(line[1]) #리..
python logging모듈사용하기 참고:http://hamait.tistory.com/880#recentComments ''' logging은 다양한 기능을 제공하고 있다. python3.x에서 logging 기본모듈이므로 import해서 쓰면된다구한다. 스트림과 파일에 동시에 로그를 남기거나, 로그 레벨에 따라 출력되는 로그를 제한할수 있다. 로깅 정보는 로그의 레벨에 따라서 출력을 제한할수있다 INFO 레벨보다 심각한 것만 출력하게 하라!! 라고 로깅 시스템을 사용하면 설정 가능합니다. DEBUG>INFO>WARNING>ERROR>Critical 파이썬 로깅의 기본 설정은 WARNING 이순서에서 더 높은 레벨인 Error는 출력이 되지만, 하위레벨(INFO,Debug)는 출력이 안된다. 즉 이레벨은 DEBUG나 INFO로 낮추어 설..