1. 셀레니움 기본 세팅 이번 프로젝트에서 셀레니움이라는 웹 브라우징 자동화 모듈을 사용한다. 현재 내가 사용하고 있는 크롬 버전과 맞는 웹 드라이버를 설치한다. 2. 로그인 기능부터 만들어보자 2.1 ID, PW, LOGIN_BUTTON의 XPath를 구하자 크롬에서 F12로 개발자 도구 기능을 켤 수 있다.로그인을 해야하니까 아이디와 비밀번호를 입력하는 곳의 태그 값을 구해보자.컨트롤+쉬프트+c를 누르고 구하고자 하는 곳을 누르면 개발자 도구의 html 코드 상 위치로 이동해준다. 저렇게 선택된 곳을 오른쪽 클릭-Copy-Copy XPath를 클릭해서 XPath를 구한다. 동일한 방법으로 비밀번호 입력칸과 로그인 버튼의 XPath를 구한다. # XPath엔 큰따옴표가 있기 때문에 \"로 바꿔줘야한다...
삼성역 인근 사무실에서 3월 한달간 사무보조 알바를 했다. 기본적인 OA를 잘다루는 편이라 사무보조 알바는 내게 어려운 점이 없었다. 다만, 웹 페이지에 나오는 정보를 하나씩 검색해서 엑셀에 옮기는 "데이터 코딩" 작업은 내가 가장 싫어하는 업무다. 업무는 이런 식이다. 1. 정보를 얻어올 사이트에 접속한다. 이번 알바에선 기업 정보 플랫폼인 "크레탑"이라는 사이트다. 2. 회사 계정으로 로그인한다. 3. 검색하고자하는 기업의 사업자등록번호를 검색창에 입력하고 검색 버튼을 누른다. 4. 사이드 메뉴의 기업재무제표 탭을 클릭하면 표형식으로 근 3년간 신고된 재무제표가 나온다. 5. 2015~2019년도 자산, 국내매출, 수입매출, 연구개발비 정보를 엑셀에 옮긴다. 언뜻보면 굉장히 간단해보이지만, 위 3번,..
html, jsp, servlet을 이용해서 간단한 로그인 페이지를 만드는 예제를 진행 중... login.html 에서 ID, PW 값을 보내면 LoginOk.java 에서 oracle DB에 query를 보내 계정 정보를 검증한다. 그런데 이런 에러를 만났다. "메시지 요청된 리소스[/loginOK]는 가용하지 않습니다." /loginOK는 계정 정보를 검증하는 LoginOk.java에 매핑된 URL 패턴이다. form tag에서 ID, PW값을 입력받아 loginOK라는 URL에 post 메서드로 전송시킨다. 그래서 LoginOk.java의 서블릿 어노테이션을 확인해봤다. 그런데.. 결론: login.html의 form tag에서 받으시는 분: loginOK로 정보를 보냈지만 LoginOk.java..
문제 베르트랑 공준은 임의의 자연수 n에 대하여, n보다 크고, 2n보다 작거나 같은 소수는 적어도 하나 존재한다는 내용을 담고 있다. 이 명제는 조제프 베르트랑이 1845년에 추측했고, 파프누티 체비쇼프가 1850년에 증명했다. 예를 들어, 10보다 크고, 20보다 작거나 같은 소수는 4개가 있다. (11, 13, 17, 19) 또, 14보다 크고, 28보다 작거나 같은 소수는 3개가 있다. (17,19, 23) n이 주어졌을 때, n보다 크고, 2n보다 작거나 같은 소수의 개수를 구하는 프로그램을 작성하시오. 입력 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 케이스는 n을 포함하며, 한 줄로 이루어져 있다. (n ≤ 123456) 입력의 마지막에는 0이 주어진다. 출력 각 테스트 케이스에 대..
문제 M이상 N이하의 소수를 모두 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. 출력 한 줄에 하나씩, 증가하는 순서대로 소수를 출력한다. 내 소스 import math def isprime(n): if n == 1: return False #시간 초과를 피하기 위해 n의 제곱근까지만 소수인지 판별한다 nsqrt = int(math.sqrt(n)) for i in range(2, nsqrt+1): if n % i == 0: return False return True M, N = map(int, input().split(" ")) for a in rang..
문제 자연수 M과 N이 주어질 때 M이상 N이하의 자연수 중 소수인 것을 모두 골라 이들 소수의 합과 최솟값을 찾는 프로그램을 작성하시오. 예를 들어 M=60, N=100인 경우 60이상 100이하의 자연수 중 소수는 61, 67, 71, 73, 79, 83, 89, 97 총 8개가 있으므로, 이들 소수의 합은 620이고, 최솟값은 61이 된다. 입력 입력의 첫째 줄에 M이, 둘째 줄에 N이 주어진다. M과 N은 10,000이하의 자연수이며, M은 N보다 작거나 같다. 출력 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. 내 소스 def isprime(n): if ..
문제 주어진 수 N개 중에서 소수가 몇 개인지 찾아서 출력하는 프로그램을 작성하시오. 입력 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. 출력 주어진 수들 중 소수의 개수를 출력한다. 내 소스 def isprime(n): if n == 1: return False if n == 2: return True for i in range(2, n): if n % i == 0: return False return True N = int(input()) a_list = map(int, input().split(" ")) count = 0 for a in a_list: if isprime(a): count += 1 print(count)
문제 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행사가 되어 새로운 세계에 발을 내려 놓는 영광의 순간을 기다리고 있다. 그가 탑승하게 될 우주선은 Alpha Centauri라는 새로운 인류의 보금자리를 개척하기 위한 대규모 생활 유지 시스템을 탑재하고 있기 때문에, 그 크기와 질량이 엄청난 이유로 최신기술력을 총 동원하여 개발한 공간이동 장치를 탑재하였다. 하지만 이 공간이동 장치는 이동 거리를 급격하게 늘릴 경우 기계에 심각한 결함이 발생하는 단점이 있어서, 이전 작동시기에 k광년을 이동하였을 때는 k-1 , k 혹은 k+1 광년만을 다시 이동할 수 ..