본문 바로가기

개발/Algorithm

[Algorithm] 백준 알고리즘 11720번 숫자의 합 ( C# / Python / Java ) https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 문제 풀이 방법 1. cnt를 입력받는다(int) 2. 문자열을 입력받는다. 3. 반복문을 이용하여 1~N까지의 문자를 숫자형식으로 바꿔 sum에 더한다. (Char → int) 4. sum을 출력한다. C# 1 2 3 4 .. 더보기
[Algorithm] 백준알고리즘 아스키 코드 출력 / C# / Python / Java https://www.acmicpc.net/problem/11654 11654번: 아스키 코드 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 알파벳 소문자, 대문자, 숫자 0-9중 하나가 주어졌을 때, 주어진 글자의 아스키 코드값을 출력하는 프로그램을 작성하시오. 입력 알파벳 소문자, 대문자, 숫자 0-9 중 하나가 첫째 줄에 주어진다. 출력 입력으로 주어진 글자의 아스키 코드 값을 출력한다. C# C#의 아스키 코드를 받아오는 방법은? 1. char형으로 입력을 받아온다 2. char형을 int32로 변환한다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 using System;.. 더보기
[Algorithm] 백준 알고리즘 등차수열 한수 / C# / Python https://www.acmicpc.net/problem/1065 1065번: 한수 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 �� www.acmicpc.net 문제 어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 1,000보다 작거나 같은 자연수 N이 주어진다. 출력 첫째 줄에 1보다 크거나 같고, N보다 작거나 같은 한수의 개수를 출력한.. 더보기
[Algorithm] 백준 알고리즘 셀프넘버 https://www.acmicpc.net/status?user_id=seophaa&problem_id=4673&from_mine=1 채점 현황 www.acmicpc.net 문제 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, 이 수를 시작해서 n, d(n), d(d(n)), d(d(d(n))), ...과 같은 무한 수열을 만들 수 있다. 예를 들어, 33으로 시작한다면 다음 수는 33 + 3 + 3 = 39이고, 그 다음 수는 39 + 3 + 9 = 51, 다음 수는 51 + 5 + 1 = 57이다. 이런식으.. 더보기
[Algorithm] C# /Python / Format 함수 - C# https://www.acmicpc.net/problem/4344 4344번: 평균은 넘겠지 문제 대학생 새내기들의 90%는 자신이 반에서 평균은 넘는다고 생각한다. 당신은 그들에게 슬픈 진실을 알려줘야 한다. 입력 첫째 줄에는 테스트 케이스의 개수 C가 주어진다. 둘째 줄부터 각 � www.acmicpc.net 백준 알고리즘에서 C#으로 풀면 런타임 에러가 많이 난다... 질문을 검색해보니 Average메소드를 넣어서 풀면 런타임 에러가 발생되는 걸로 확인되었습니다. ㅋㅋㅋㅋㅋㅋㅋㅋ Average 메소드를 써서 문제였던것 같다. 내가 푼 소스 코드는 다음과 같다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 2.. 더보기
[Algorithm] C# 속도측정 하는 법 Stopwatch / Python / 백준알고리즘 평균 https://www.acmicpc.net/problem/1546 1546번: 평균 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보 www.acmicpc.net 사이트에 C# 버그가 있어 정답처리는 되지 않았으나 빠르게 출력을 해야 하는 프로그램이라 시간을 check 하면서 진행했다. C#의 시간 Check하는 법은? - 알고리즘을 풀다보면 코드의 실행시간을 알아야하는 경우가 있다. 이는 코드 작성시, 딜레이가 발생하거나 어느 부분에서 오버해드가 발생하여 시스템을 느리게 하는지 알아내야 하는 경우도 있다. 중간중간 속도를 Check 하고 싶다면 St.. 더보기
[Algorithm] 빠른 A+B 구하기 (C#) - String, Stringbuilder https://www.acmicpc.net/problem/15552 15552번: 빠른 A+B 첫 줄에 테스트케이스의 개수 T가 주어진다. T는 최대 1,000,000이다. 다음 T줄에는 각각 두 정수 A와 B가 주어진다. A와 B는 1 이상, 1,000 이하이다. www.acmicpc.net 원래 구하던 방식으로 print를 했더니 출력이 시간초과가 되었다. (Console.WriteLine) 백준 알고리즘 사이트에 C#의 빠른 입출력 방식은? - StreamReader로 읽고, StringBuilder로 출력을 모아 놓았다가 그 String을 Console.WriteLine하는 방법이 있습니다. BufferedStream과 StringWriter로 조금 더 향상시킬 수 있는 것 같으나 자세한 것은 다.. 더보기
[Algorithm] Algorithm 공부방법 내가 풀고 싶은 알고리즘 문제만 풀다 어떻게공부하면 좋을지 퍼온글! 이거 보고 매일 알고리즘 공부를 할 예정! 열심히 해보쟝~ 1. 알고리즘과 입/출력 먼저 알고리즘이 무엇인지에 대해서 간략하게 배웁니다. 그 다음, 알고리즘을 공부하는 방법을 배웁니다. 알고리즘에서 가장 중요한 것은 시간이 얼마나 걸릴지 예측하는 능력이기 때문에, 시간 복잡도를 가장 첫 번재로 배웁니다. 알고리즘은 문제 풀이를 통해서 공부하는 것이 가장 효율적이기 때문에, 입/출력을 받는 방법을 배웁니다. 다양한 예제 문제 (A+B)를 통해서 다양한 입력 형식 (단일 입력, 테스트 케이스, EOF)을 처리하는 방법을 배웁니다. 2. 자료구조 1 알고리즘을 효율적으로 구현하기 위한 자료구조를 배웁니다. 첫 번째로 스택을 배웁니다. 스택이 .. 더보기