javascript 조건문
var aData = 10
if (aData%2==0) {
console.log("even number");
} else {
console.log("odd number");
}
'언어 > javascript' 카테고리의 다른 글
mysql javascript 연동 (0) | 2016.05.26 |
---|---|
0524 <javascript 상속> (0) | 2016.05.24 |
논리 연산자 (0) | 2016.05.23 |
정올 1291 : 구구단 문제
package java_01;
import java.util.Scanner;
public class GuGuDan {
public static int[] dan = new int[2];
public static boolean checkNumber = false;
public static void main(String[] args) {
try (Scanner input = new Scanner(System.in)) {
while (true) {
for (int i = 0; i < dan.length; i++) {
dan[i] = input.nextInt();
}
if (checkFunc(dan)) {
break;
}
System.out.println("INPUT ERROR!");
}
}
printGuGuDan(dan);
} // end of main function
public static boolean checkFunc(int dan[]) {
boolean flag = false;
for (int i = 0; i < dan.length; i++) {
if (2 <= dan[i] && dan[i] <= 9) {
flag = true;
} else {
flag = false;
}
}
return flag;
} // end of checkFunc function
public static void printGuGuDan(int dan[]) {
for (int i = 1; i <= 9; i++) {
for (int j = 0; j < dan.length; j++) {
System.out.printf("%d * %d = %d", dan[j], i, dan[j]*i);
if ( j != dan.length-1) {
System.out.print("\t");
} else {
System.out.println();
}
}
}
} // end of printGuGuDan function
}
'언어 > java' 카테고리의 다른 글
정올 1856 (d+3) (1) | 2020.04.22 |
---|---|
정올 1303 문제 풀이 (자바) (0) | 2020.04.21 |
정올 587번 문제 (0) | 2020.04.06 |
변수 [ Java의 정석 ] (0) | 2020.04.06 |
elasticsearch + java + index 삭제 (0) | 2019.12.14 |
21대 국회의원 선거 크롤링
https://search.naver.com/search.naver?where=nexearch&sm=tab_etc&query=%ED%88%AC%ED%91%9C%EC%9C%A8
import requests
import urllib
import json
from bs4 import BeautifulSoup
import time
from elasticsearch import Elasticsearch
class Poll():
def __init__(self):
self._url = "https://search.naver.com/search.naver"
self._params = {"sm": "top_hty", "fbm": 0, "ie": "utf8"}
self._cllect_time = time.strftime("%Y%m%d%H%M%S", time.localtime())
self._total_data = list()
self._es = Elasticsearch (hosts=["http://", "http://", "http://"])
def url_req(self):
param_encode = urllib.parse.urlencode (self._params) +"&query={}".format("이시각 투표율")
url = self._url + "?" + param_encode
print (url)
session = requests.Session()
try:
html = session.get(url)
except:
print("요청 에러{}".format(self.total_data))
pass
else:
if html.status_code == 200 and html.ok:
bs_obj = BeautifulSoup(html.text, "html.parser")
print(bs_obj.title.string)
graph_view = bs_obj.select_one("ul.graph_view")
v2_list = graph_view.select("li.v2 > a")
for v in v2_list:
locals_name = v.select_one("strong.num_standard").string
percentages = v.select_one("span.graph_bar > span.num > span.num_data2").text
d = {"name": locals_name, "value": percentages[:-1], "cllct": self._cllect_time}
self._total_data.append(d)
if len(self._total_data) != 0:
#
# 데이터 파일 생성
#
self.mk_ndjson()
def mk_ndjson(self):
with open("/home/elastic/Desktop/nd_json_data/polling_{}.json".format(self._cllect_time), "a", encoding="utf-8") as f:
for i in range(0, len(self._total_data)):
f.write(json.dumps(self._total_data[i], ensure_ascii=False))
if i != len(self._total_data)-1:
f.write("\n")
f.close()
def __del__(self):
print("=============================================")
print("끝 : {}".format(time.strftime("%Y%m%d %H:%M:%S")))
if __name__ == "__main__":
print("=============================================")
print("시작 : {}".format(time.strftime("%Y%m%d %H:%M:%S")))
p = Poll()
p.url_req()
'언어 > python' 카테고리의 다른 글
코로나 데이터 수집 (파이썬) (0) | 2020.07.18 |
---|---|
네이버 python 지식인 답변 (0) | 2020.06.06 |
pdf 변환 (0) | 2019.12.18 |
python으로 pdf 파일 read (0) | 2019.12.08 |
백준 2108 (0) | 2019.12.08 |
정올 587번 문제
package Q01;
import java.util.Scanner;
public class JungAll_587 {
public static void main(String[] args) {
Scanner input_ = new Scanner(System.in);
int nNumber = 0;
nNumber = input_.nextInt();
for (int i = 1; i <= nNumber; i++) {
System.out.println("recursive");
}
}
}
'언어 > java' 카테고리의 다른 글
정올 1303 문제 풀이 (자바) (0) | 2020.04.21 |
---|---|
정올 1291 : 구구단 문제 (0) | 2020.04.20 |
변수 [ Java의 정석 ] (0) | 2020.04.06 |
elasticsearch + java + index 삭제 (0) | 2019.12.14 |
elasticsearch java api : total index search (0) | 2019.04.22 |
변수 [ Java의 정석 ]
변수( variable )
정의 : 단 하나의 값을 저장할 수 있는 메모리 공간
1.2 변수의 선언과 초기화
int nNumber = 10;
int | nNumber |
변수 타입 | 변수이름 |
변수를 선언하면, 메모리의 빈 공간에 '변수타입'에 알맞은 코기의 저장공간이 확보되고, 앞으로 이 저장공간은 '변수이름'을 통해 사용가능
변수의 초기화
- 반드시 변수를 '초기화 (initialization)'
=> 메모리는 여러 프로그램이 공유하는 자원이므로 전에 다른 프로그램에 의해 저장된 "알 수 없는 값( 쓰레기 값, garbage value )" 이 남아 있을 수도 있기 대문
초기화를 하지 않고 사용한 경우
1.3 변수의 명명규칙
1. 대소문자가 구분되며 길이에 제한이 없다.
2. 예약어를 사용해서는 안된다.
3. 숫자로 시작해서는 안 된다.
4. 특수문자는 '_' 와 '$'만을 허용한다.
========================================================================
가장 중요]
그 외에 필수적인 것은 아니지만 자바 프로그래머들에게 권장하는 규칙이 있다.
ㄱ] 클래스 이름의 첫 글자는 항상 대문자로 한다.
-> 변수와 메서드의 이름의 첫 글자는 항상 소문자로 한다.
ㄴ] 여러 단어로 이루어진 이름은 단어의 첫 글자를 대문자로 한다.
-> getConfigData
ㄷ] 상수의 이름은 모두 대문자로 한다. 여러 단어로 이루어진 경우 '_' 로 구분한다.
-> MAX_NUMBER
'언어 > java' 카테고리의 다른 글
정올 1291 : 구구단 문제 (0) | 2020.04.20 |
---|---|
정올 587번 문제 (0) | 2020.04.06 |
elasticsearch + java + index 삭제 (0) | 2019.12.14 |
elasticsearch java api : total index search (0) | 2019.04.22 |
elasticsearch java api search (0) | 2019.03.13 |
c언어 linkedlist
# include <stdio.h>
# include <stdlib.h>
# include <string.h>
typedef struct node_{
char cData;
struct node_* nodeNext;
} node_;
typedef struct {
node_* head;
node_* tail;
}linkedlist;
linkedlist* createNode();
void init(linkedlist**);
void dataInsrt(linkedlist**, char*);
void dataPrint(linkedlist**);
void firstNodeRemove(linkedlist**);
void lastNodeRemove(linkedlist**);
void memoryFree(linkedlist**);
//void memoryFree(node_*);
int main(void) {
linkedlist* node = NULL;
char nodeString[] = "ABCDEFGC";
node = createNode();
init(&node);
dataInsrt(&node, nodeString);
dataPrint(&node);
//memoryFree(node->head->nodeNext);
firstNodeRemove(&node);
dataPrint(&node);
lastNodeRemove(&node);
dataPrint(&node);
memoryFree(&node);
return 0;
} // end of main function
linkedlist* createNode() {
linkedlist* createNode = NULL;
createNode = (linkedlist*)malloc(sizeof(linkedlist));
if (createNode == NULL) {
exit(1);
}
else {
createNode->head = NULL;
createNode->tail = NULL;
}
return createNode;
} // end of createNode function
void init(linkedlist** param) {
(**param).head = (node_*)malloc(sizeof(node_));
(**param).tail = (node_*)malloc(sizeof(node_));
if ((**param).head == NULL || (**param).tail == NULL) {
exit(1);
}
else {
(**param).head->cData = ' ';
(**param).head->nodeNext = NULL;
(**param).tail->cData = ' ';
(**param).tail->nodeNext = NULL;
}
} // end of init function
void dataInsrt(linkedlist** param, char* cData) {
for (unsigned int i = 0; i < strlen(cData); i++) {
node_* createNode = NULL;
createNode = (node_*)malloc(sizeof(node_));
if (createNode != NULL) {
createNode->cData = *(cData + i);
createNode->nodeNext = NULL;
if ((**param).head->nodeNext == NULL && (**param).tail->nodeNext == NULL) {
(**param).head->nodeNext = createNode;
(**param).tail->nodeNext = createNode;
}
else {
(**param).tail->nodeNext->nodeNext = createNode;
(**param).tail->nodeNext = createNode;
}
}
}
} // end of dataInsrt function
void dataPrint(linkedlist** param) {
node_* indexNode = NULL;
// 데이터가 한개도 없는 경우
if ((**param).head->nodeNext != NULL && (**param).tail->nodeNext != NULL) {
indexNode = (**param).head->nodeNext;
while (indexNode != NULL) {
printf("%c [%p]", indexNode->cData, indexNode);
if (indexNode->nodeNext != NULL) {
printf(" -> ");
}
// 노드 이동
indexNode = indexNode->nodeNext;
}
printf("\n");
}
} // end of dataPrint function
/*
void memoryFree(node_* param) {
// c언어는 java 처럼 가비지 컬렉터가 따로 동작하는 구조가 아니기 때문에
// 메모리 해제를 반드시 해야 한다.
// 재귀함수를 사용하여 메모리 해제를 시도한다.
if (param == NULL) {
return;
}
else {
node_* rmNode = NULL;
node_* mvNode = NULL;
printf("해제 시킬 메모리 주소 : %p\n", param);
rmNode = param;
mvNode = param->nodeNext;
free(rmNode);
memoryFree(mvNode);
}
}*/
void firstNodeRemove(linkedlist** param) {
node_* rmNode = NULL;
if ( (**param).head->nodeNext != NULL && (**param).tail->nodeNext != NULL ) {
rmNode = (**param).head->nodeNext;
(**param).head->nodeNext = rmNode->nodeNext;
free(rmNode);
// 데이터가 한개 인 경우
if ( (**param).head->nodeNext == (**param).tail->nodeNext ) {
(**param).tail->nodeNext = NULL;
}
}
} // end of firstNodeRemove function
void lastNodeRemove(linkedlist** param) {
node_* rmNode = NULL;
node_* indxNode = NULL;
if ( (**param).head->nodeNext != NULL && (**param).tail->nodeNext != NULL ) {
// 데이터가 한개 인 경우
if ( (**param).head->nodeNext == (**param).tail->nodeNext ) {
rmNode = (**param).head->nodeNext;
(**param).head->nodeNext = NULL;
(**param).tail->nodeNext = NULL;
free(rmNode);
}
else {
indxNode = (**param).head->nodeNext;
while (indxNode->nodeNext->nodeNext != NULL) {
indxNode = indxNode->nodeNext;
}
indxNode->nodeNext = NULL;
(**param).tail->nodeNext = indxNode;
rmNode = indxNode->nodeNext;
free(rmNode);
}
}
} // end of lastNodeRemove function
void memoryFree(linkedlist** param) {
node_* rmNode = NULL;
node_* indxNode = NULL;
if ( (**param).head->nodeNext != NULL && (**param).tail->nodeNext != NULL ) {
// 데이터가 한개 인 경우
if ( (**param).head->nodeNext == (**param).tail->nodeNext ) {
lastNodeRemove(param);
}
else {
indxNode = (**param).head->nodeNext;
(**param).head->nodeNext = NULL;
while (indxNode->nodeNext != NULL) {
rmNode = indxNode;
indxNode = indxNode->nodeNext;
free(rmNode);
}
(**param).tail->nodeNext = NULL;
}
}
free( (**param).head );
free( (**param).tail );
}
'언어 > c언어' 카테고리의 다른 글
네이버 풀이 (0) | 2019.05.18 |
---|---|
c언어 네이버 풀이 중첩 for문을 사용해서 3을 입력하면 (0) | 2019.05.06 |
네이버 풀이 (0) | 2018.12.01 |
네이버 문제 풀이 - 최대공약수 (0) | 2018.11.28 |
네이버 지식이 풀이 (0) | 2018.11.28 |
from pdflib import Document
import os
import base64
from ela_dir.Ela import Ela
class PDFObj():
def __init__(self):
#Ela.__init__(self)
self._targetPath="./pdf_dir"
def dirSearch(self):
os.chdir(self._targetPath)
cur = os.listdir()
for f in cur:
fname, fext = os.path.splitext(f)
if fext == ".pdf":
doc = Document(f)
print(doc.metadata)
for c, p in enumerate(doc):
strData = " ".join(p.lines).strip()
#encodedBytes = base64.b64encode(strData.encode("utf-8"))
#encodedStr = str(encodedBytes, "utf-8")
#e = {"page_" : c+1,
# "data_" : encodedStr}
e = {"page_" : c+1, "data_": strData}
print(e)
if __name__ == "__main__":
o = PDFObj()
o.dirSearch()
'언어 > python' 카테고리의 다른 글
네이버 python 지식인 답변 (0) | 2020.06.06 |
---|---|
21대 국회의원 선거 크롤링 (0) | 2020.04.15 |
python으로 pdf 파일 read (0) | 2019.12.08 |
백준 2108 (0) | 2019.12.08 |
from csv to json convert + logstash (0) | 2019.11.26 |
elasticsearch + java + index 삭제
static public void indexRemoveQuery(RestHighLevelClient param, String targetIndex) {
DeleteIndexRequest deleteIndexRequest = new DeleteIndexRequest(targetIndex);
try {
param.indices().delete(deleteIndexRequest, RequestOptions.DEFAULT);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
System.out.println(targetIndex +" : index remove success");
}
'언어 > java' 카테고리의 다른 글
정올 587번 문제 (0) | 2020.04.06 |
---|---|
변수 [ Java의 정석 ] (0) | 2020.04.06 |
elasticsearch java api : total index search (0) | 2019.04.22 |
elasticsearch java api search (0) | 2019.03.13 |
크롤링 => json 파일로 적재 (0) | 2019.03.03 |
python으로 pdf 파일 read
from pdflib import Document
import os
import base64
class PDFObj():
def __init__(self):
self._targetPath="./pdf_dir"
def dirSearch(self):
os.chdir(self._targetPath)
cur = os.listdir()
for f in cur:
fname, fext = os.path.splitext(f)
if fext == ".pdf":
doc = Document(f)
print(doc.metadata)
for c, p in enumerate(doc):
print("{} ========================".format(p))
strData = " ".join(p.lines).strip()
encodedBytes = base64.b64encode(strData.encode("utf-8"))
encodedStr = str(encodedBytes, "utf-8")
print(encodedStr)
print(strData)
if c == 3:
exit(1)
if __name__ == "__main__":
o = PDFObj()
o.dirSearch()
테스트 환경
=> ubuntu 18.4
=> interpreter 3.6
'언어 > python' 카테고리의 다른 글
21대 국회의원 선거 크롤링 (0) | 2020.04.15 |
---|---|
pdf 변환 (0) | 2019.12.18 |
백준 2108 (0) | 2019.12.08 |
from csv to json convert + logstash (0) | 2019.11.26 |
네이버 기사 크롤링 => elasticsearch 적재 (0) | 2019.07.12 |
from operator import itemgetter
from collections import Counter
import sys
class Q_2108():
def __init__(self):
self._numCnt = 0
self._numList = list()
self._totalSum = 0
def numSetting(self):
self._numCnt = int(sys.stdin.readline())
for _ in range(self._numCnt):
e = int(sys.stdin.readline())
self._totalSum += e
self._numList.append(e)
# 데이터 정렬
self._numList.sort()
def arithMean(self):
avr = round((float(self._totalSum)/len(self._numList)))
print(avr)
def middleNumber(self):
print(self._numList[int(len(self._numList)/2)])
def largeCnt(self):
modeDict = Counter(self._numList)
modes = modeDict.most_common()
if len(self._numList) > 1:
if modes[0][1] == modes[1][1]:
mod = modes[1][0]
else:
mod = modes[0][0]
else:
mod = modes[0][0]
print(mod)
# keyNum = set(self._numList)
# numCnt = [(k,self._numList.count(k)) for k in keyNum]
#
# # value값을 기준으로 정렬
# numCnt.sort(key= lambda e:(e[1], e[0]), reverse=True)
#
# # list는 순서를 보존한다.
# rawV = [i[1] for i in numCnt]
# largeNum = rawV[0]
# largeCnt = rawV.count(largeNum)
# largeArr = [i[0] for i in numCnt[:largeCnt]]
#
# if len(largeArr) == 1:
# print(largeArr[0])
#
# elif len(largeArr) > 1:
# if len(largeArr) == 2:
# print(largeArr[1])
# else:
# print(largeArr[len(largeArr)-2])
def numRange(self):
print(self._numList[len(self._numList)-1] - self._numList[0])
if __name__ == "__main__":
q = Q_2108()
q.numSetting()
q.arithMean()
q.middleNumber()
q.largeCnt()
q.numRange()
'언어 > python' 카테고리의 다른 글
pdf 변환 (0) | 2019.12.18 |
---|---|
python으로 pdf 파일 read (0) | 2019.12.08 |
from csv to json convert + logstash (0) | 2019.11.26 |
네이버 기사 크롤링 => elasticsearch 적재 (0) | 2019.07.12 |
naver music 크롤링 + elasticsearch (0) | 2019.05.22 |