본문 바로가기

전체 글562

[SWEA] 1228. 암호문1 문제 0 ~ 999999 사이의 수가 나열된 암호문이 있을 때, 명령에 따라 암호문을 수정하는 문제 명령문> I(삽입) x, y, s : x는 삽입할 인덱스, y는 삽입할 숫자의 수, s는 삽입할 숫자들 풀이방법 데이터의 삽입이 많은 문제로 연결리스트 구조를 사용해 연산의 수를 줄인다 소스코드 import java.util.*; import java.io.FileInputStream; public static class Main { public static void main(String args[]) throws Exception { Scanner sc = new Scanner(System.in); for(int t = 1; t = 0; j--) { l.add(idx, a[j]); } } System.o.. 2020. 2. 5.
[SWEA] 1225. 암호생성기 문제 8자리 숫자가 입력되었을 때, 암호를 구하는 문제 1) 8개의 숫자를 입력 받음 2) 첫 번째 숫자를 1 감소한 뒤, 맨 뒤로, 다음 첫 번째 수는 2 감소한 뒤 맨 뒤로, 그 다음 첫 번째 수는 3을 감소하고 맨뒤로, 그 다음 수는 4, 그 다음 수는 5를 감소.(1 cycle) 3) 숫자가 감소할 때 0보다 작아지는 경우 0으로 유지되며, 프로그램 종료. 이 때, 8자리 수가 암호가 됨 풀이방법 FIFO(First In First Out) 구조를 가지므로, 큐를 이용해 문제를 풀고 분기 조건은 큐의 숫자가 0보다 작거나 같아질 때. 소스코드 package samsung; import java.util.*; public class s_1225 { public static void main(Stri.. 2020. 2. 5.
[SWEA] 1204. 최빈수 구하기 문제 1000명의 학생들 각각 점수가 주어질 때(0 2020. 2. 5.
[Python] RPA를 위한 웹 자동화 매크로 셀레니움(selenium)이란? 셀레니움은 다양한 브라우저 및 플랫폼에서 웹 응용 프로그램을 위한 자동화 테스트 스위트 패키지이다. rpa 시스템 구현을 위해 셀레니움을 활용하여 자동화 웹 응용 시스템을 구현한다. 셀레니움 설치 $ pip install selenium 드라이버 설치 chrome://version로 접속해 크롬버전 확인 확인한 버전에 맞는 드라이버 설치 ( https://sites.google.com/a/chromium.org/chromedriver/downloads ) Downloads - ChromeDriver - WebDriver for Chrome WebDriver for Chrome sites.google.com 패키지 임포트 및 드라이버 객체 생성 from selenium im.. 2020. 2. 4.
[Python] 텍스트마이닝 웹 크롤링 import requests # 웹 request from bs4 import BeautifulSoup # 웹 크롤링 패키지 # url에서 source 가져오기 # res = requests.get('http://www.ciokorea.com/t/27240/%EB%8D%B0%EB%B8%8C%EC%98%B5%EC%8A%A4/129646') # res = requests.get('http://www.ciokorea.com/news/33848') res = requests.get('http://www.ciokorea.com/column/119945') # html 객체로 변환 soup = BeautifulSoup(res.content, 'html.parser') # 기사 본문 가져오기 html = .. 2020. 2. 3.
[SWEA] 1961. 숫자 배열 회전 문제 N x N의 2차원 배열에서 시계 방향으로 90도, 180도, 270도로 회전하면서 숫자 출력 풀이방법 입력받은 N x N의 2차원 배열을 a[i][j], 출력해야할 N x 3의 2차원 배열을 b[i][j]라고할 때, b[i][1] = a[n-1][i] a[n-2][i] ... a[0][i] b[i][2] = a[n-i-1][n-1] a[n-i-1][n-2] ... a[n-i-1][0] b[i][3] = a[0][n-i-1] a[1][n-i-1] ... a[n-1][n-i-1] 소스코드 package samsung; import java.util.*; public class s_1961 { public static void main(String[] args) { Scanner sc = new Sca.. 2020. 1. 29.
[SWEA] 1966. 숫자를 정렬하자 문제 N 길이의 숫자 정렬 풀이방법 버블 정렬 소스코드 package samsung; import java.util.*; public class s_1966 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t a[j + 1]) { int tmp = a[j]; a[j] = a[j+1]; a[j+1] = tmp; } } } System.out.print("#" + t + " "); for(int i = 0; i < n; i++) { System.out.print(a[i] + " "); } System.out.println(); } } } 2020. 1. 29.
[SWEA] 1970. 쉬운 거스름돈 문제 금액이 주어졌을 때, 우리나라 화폐로 가장 적은 화폐의 수를 구하는 문제 풀이방법 그리디 알고리즘 소스코드 package samsung; import java.util.*; public class s_1970 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] a = {50000, 10000, 5000, 1000, 500, 100, 50, 10}; int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1974. 스도쿠 검증 문제 스도쿠 검증 문제 풀이방법 가로, 세로, 3X3 크기의 정사각형 값의 합이 45가 되는지 완전탐색한다 소스코드 package samsung; import java.util.*; public class s_1974 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1976. 시각 덧셈 문제 시 분으로 이루어진 2개의 값을 입력값으로 받았을 때, 더한 값을 시 분으로 출력 풀이방법 분의 더한 값이 60을 초과했을 때, 시를 값을 하나 올려줌 소스코드 package samsung; import java.util.*; public class s_1976 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 12) h = h % 12; if(m > 60) { m %= 60; h++; } System.out.println("#" + t + " " + h + " " + m); } } } 2020. 1. 29.
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까 문제 N X N 크기의 단어 퍼즐이 입력으로 주어졌을 때 특정 길이 K를 갖는 단어가 들어갈 수 있는 자리의 수를 출력하는 프로그램을 작성하라. 풀이방법 그림과 같은 2차원 배열과 K를 입력으로 받았을 때, 연속된 1의 길이가 K와 같은 길이를 찾는 문제 소스코드 package samsung; import java.util.*; public class s_1979 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int test = sc.nextInt(); for(int t = 1; t 2020. 1. 29.
[SWEA] 1983. 조교의 성적 매기기 문제 총점 = 중간점수(35%) + 기말점수(45%) + 과제(20%) 총점을 기준으로 A+ ~ D0까지 10개의 성적을 매길 때 k번째 학생의 성적을 구하는 문제 풀이방법 총점과 인덱스를 멤버로 가지는 클래스를 만들어 총점 순으로 정렬한 뒤 성적을 부여 소스코드 package samsung; import java.util.*; public class s_1983 { static class Student implements Comparable{ double grade; int num; Student(double grade, int num){ this.grade = grade; this.num = num; } @Override public int compareTo(Student s) { if(this.gr.. 2020. 1. 29.