본문 바로가기

프로그래밍109

[알고리즘] 백준 10757번 큰 수 A+B Java 자바는 큰수를 BigInteger 클래스로 정의 하였습니다. math api를 사용하여 작성하였습니다. import java.util.Scanner; import java.math.*; public class Main { public static void sum(BigInteger A, BigInteger B){ System.out.println(A.add(B)); } public static void main(String[] args) { Scanner scan=new Scanner(System.in); String ab=scan.nextLine(); String strab[]=ab.split(" "); BigInteger A=new BigInteger(strab[0]); BigInteger B=new.. 2020. 6. 24.
[알고리즘] 유클리드 호제법을 이용하여 최대 공약수를 구하는 알고리즘 유클리드 호제법을 이용하여 최대 공약수를 구하는 알고리즘 유클리드 호제법 예시 1071과 1029의 최대공약수를 구하면, 1071은 1029로 나누어떨어지지 않기 때문에, 1071을 1029로 나눈 나머지를 구한다. ≫ 42 1029는 42로 나누어떨어지지 않기 때문에, 1029를 42로 나눈 나머지를 구한다. ≫ 21 42는 21로 나누어떨어진다. 따라서, 최대공약수는 21이다. (위키백과 출처) 유클리드 호제법 알고리즘은 재귀함수를 사용하여 구현한다. public class study01 { //최대공약수를 구하는 알고리즘 static int gcd(int x, int y) { if(y==0) return x; else return gcd(y,x%y); } public static void main(.. 2020. 4. 28.
[알고리즘] 재귀알고리즘 재귀 알고리즘 재귀 함수란 함수 자신을 다시 호출하여 작업을 수행하는 방식의 함수를 말합니다. 반복문을 사용하여 구현하며 무한루프에 빠지지 않게 종료조건이 꼭 들어가 있어야합니다. 팩토리얼 구하기 예제 import java.util.*; public class study01 { static int factorial(int n) { if(n>0) return n * factorial(n-1); else return 1; } public static void main(String[] args) { Scanner stdInt = new Scanner(System.in); System.out.println("정수를 입력하세요."); int x=stdInt.nextInt(); System.out.println(x.. 2020. 4. 27.
[알고리즘] 이진검색 이진 검색 알고리즘(binary search algorithm)이란 오름차순으로 정렬된 리스트에서 특정한 값의 위치를 찾는 알고리즘이다. 처음 중간의 값을 임의의 값으로 선택하여, 그 값과 찾고자 하는 값의 크고 작음을 비교하는 방식을 채택하고 있다. 처음 선택한 중앙값이 만약 찾는 값보다 크면 그 값은 새로운 최댓값이 되며, 작으면 그 값은 새로운 최솟값이 된다. 검색 원리상 정렬된 리스트에만 사용할 수 있다는 단점이 있지만, 검색이 반복될 때마다 목표값을 찾을 확률은 두 배가 되므로 속도가 빠르다는 장점이 있다. (위키백과 출처) 이진 검색은 검색을 반복할때마다 검색 범위가 반으로 줄어서 검색에 필요한 평균 횟수는 log n 입니다. 이진 검색은 정렬이 되어 있음을 가정합니다. import java... 2020. 4. 26.
[알고리즘] 선형검색 선형검색은 배열에서 검색하는 방법 가운데 가장 기본적인 알고리즘입니다. 선형 검색은 데이터가 모인 집합의 처음부터 끝까지 하나씩 순서대로 비교하며 원하는 값을 갖는 요소를 만날때까지 검색하는 알고리즘 입니다. using System; using System.Diagnostics; using System.Text; namespace ConsoleApp4 { class Program { public static int[,] mdays =new int[,] { { 31,28,31,30,31,30,31,31,30,31,30,31}, //평년 { 31,29,31,30,31,30,31,31,30,31,30,31} //윤년 }; //해당 년도는 윤년인가?(윤년 true / 평년 false) static int isL.. 2020. 4. 13.
[알고리즘] 2차원 배열을 이용하여 해당 년도의 월 일을 입력하면 해당년도부터 며칠 째인지 알려주는 프로그램 2차원 배열을 이용하여 해당 년도의 월 일을 입력하면 해당년도부터 며칠 째인지 알려주는 프로그램 using System; using System.Diagnostics; using System.Text; namespace ConsoleApp4 { class Program { public static int[,] mdays =new int[,] { { 31,28,31,30,31,30,31,31,30,31,30,31}, //평년 { 31,29,31,30,31,30,31,31,30,31,30,31} //윤년 }; //해당 년도는 윤년인가?(윤년 true / 평년 false) static int isLeap(int year) { return (year % 4 == 0 && year % 100 != 0 || yea.. 2020. 4. 12.
[C#] LINQ group by 사용하기 group by로 데이터 분류하기 DB group by 와 비슷한 역할을 수행합니다. group by 의 형식 group A by B into C 예시 : using System; using System.Diagnostics; using System.Collections; using System.Linq; namespace ConsoleApp3 { class Student { public string Name { get; set; } public int Score { get; set; } } class Program { static void Main(string[] args) { Student[] arrStudent = { new Student(){Name="홍길동",Score=90}, new Stude.. 2020. 4. 9.
[C#] LINQ 란 무엇인가? Linq Language INtegrated Query의 약자로 C#언어에 통합된 데이터 질의 기능을 말한다. Linq 의 기본 : from, where, orderby, select 사용법 예시 : class Student { public string Name { get; set; } public int Score { get; set; } } class Program { static void Main(string[] args) { Student[] arrStudent = { new Student(){Name="홍길동",Score=90}, new Student(){Name="홍이동",Score=80}, new Student(){Name="김일동",Score=70}, new Student(){Name="박.. 2020. 4. 1.
[C#] 우아한 프로퍼티 , get set C#에서는 getter setter를 쉽게 사용할수 있다. public class Student{ public string Name { get; set; } public string PhoneNumber { get; set; } } 2020. 3. 26.
[알고리즘] 프로그래머스 Level1 - 모의고사 using System; using System.Collections.Generic; public class Solution { public int[] solution(int[] answers) { int[] answer = new int[] {}; int [] people_1 = new int[]{1,2,3,4,5}; int [] people_2 = new int[]{2,1,2,3,2,4,2,5}; int [] people_3 = new int[]{3,3,1,1,2,2,4,4,5,5}; int [] cnt = new int[]{0,0,0}; for(int i=0;i 2020. 3. 24.
[C#] 공부 정리 2020. 3. 22.
[알고리즘] 프로그래밍 알고리즘 공부 정리 출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges 2020. 3. 22.
[알고리즘] 프로그래머스 Level1 - 수박수박수박수박수박수? public class Solution { public string solution(int n) { string answer = ""; for(int i=1; i 2020. 3. 22.
반응형