본문 바로가기

전체 글259

[ BOJ/C# ] 2562 최댓값 https://www.acmicpc.net/problem/2562 2562번: 최댓값 9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어 www.acmicpc.net List의 메서드를 사용하여 쉽게 풀 수 있다. using System; namespace _2562 { class Program { static void Main() { StreamReader sr = new StreamReader(Console.OpenStandardInput()); List ints = new List(); for(int i = 0; i < 9.. 2023. 8. 21.
[ BOJ/C# ] 1157 단어 공부 문자와 아스키코드를 이용하여 해결하였다. 아스키코드의 변환을 이용하는 것은 항상 재밌다! using System; namespace _1157 { class Program { static void Main() { string str = Console.ReadLine(); int[] n = new int[26]; if (str != null) { str = str.ToUpper(); //Console.WriteLine(str); char[] alphabets = str.ToCharArray(); for(int i = 0; i < alphabets.Length; i++) { //Console.WriteLine("i : {0}, alphabet : {1}", i, alphabets[i] - 65); n[alp.. 2023. 8. 20.
[ BOJ/C# ] 1550 16진수 https://www.acmicpc.net/problem/1550 1550번: 16진수 첫째 줄에 16진수 수가 주어진다. 이 수의 최대 길이는 6글자이다. 16진수 수는 0~9와 A~F로 이루어져 있고, A~F는 10~15를 뜻한다. 또, 이 수는 음이 아닌 정수이다. www.acmicpc.net Convert.ToInt32(string value, 16)으로 16진수를 10진수로 바꿔준다. using System; namespace _1550 { class Program { static void Main() { string input = Console.ReadLine(); int output = Convert.ToInt32(input, 16); Console.WriteLine(output); } } } 2023. 8. 20.
[ BOJ/C# ] 1330 두 수 비교하기 https://www.acmicpc.net/problem/1330 1330번: 두 수 비교하기 두 정수 A와 B가 주어졌을 때, A와 B를 비교하는 프로그램을 작성하시오. www.acmicpc.net using System; namespace _1330 { class Program { static void Main() { string[] abStr = (Console.ReadLine().Split(' ')); int a = int.Parse(abStr[0]); int b = int.Parse(abStr[1]); string ans = (a > b) ? ans = ">" : ((a == b) ? ans = "==" : ans = " 2023. 8. 20.
[ BOJ/C++ ] 10699 오늘 날짜 https://www.acmicpc.net/problem/10699 10699번: 오늘 날짜 서울의 오늘 날짜를 출력하는 프로그램을 작성하시오. www.acmicpc.net 전에 풀어두고 제출 안 한 문제가 있어 올린다. #include #include int main() { std::time_t timer = time(NULL); //struct tm t; //localtime_s(&t, &timer); //t.tm_hour -= 3; //std::cout 2023. 8. 20.
[ BOJ/C# ] 14503 로봇 청소기 BFS 문제 https://www.acmicpc.net/problem/14503 14503번: 로봇 청소기 첫째 줄에 방의 크기 $N$과 $M$이 입력된다. $(3 \le N, M \le 50)$ 둘째 줄에 처음에 로봇 청소기가 있는 칸의 좌표 $(r, c)$와 처음에 로봇 청소기가 바라보는 방향 $d$가 입력된다. $d$가 $0$인 경우 북쪽 www.acmicpc.net BFS에서 자주 사용되는 Queue를 사용할까 했지만 이차원배열로 푸는 방법이 머리속으로 딱 그려져 풀어보았다. BFS는 글로 먼저 적으며 나 자신도 이해하고 푸는 것이 중요하다고 생각한다. using System; using System.IO; namespace _14503 { class Program { static void Mai.. 2023. 8. 20.
[BOJ/C#] 1264 모음의 개수 https://www.acmicpc.net/problem/1264 1264번: 모음의 개수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 영어 대소문자, ',', '.', '!', '?', 공백으로 이루어진 문장이 주어진다. 각 줄은 최대 255글자로 이루어져 있다. 입력의 끝에는 한 줄 www.acmicpc.net string의 ToLower을 사용하여 대문자를 소문자로 바꿔준다. using System; using System.IO; using System.Text; namespace _1264 { class Program { static void Main(string[] args) { StreamReader sr = new StreamReader(Console.OpenStandard.. 2023. 8. 17.
앞으로의 목표, 다짐 요즘 알고리즘 문제가 올라오지 않았는데, 임시저장해 둔 파일들이 거의 날아간 듯해서 멘탈이 안 좋았었다.. 2월부터 시작하여 수업을 들으며 제대로 해결하지 못했던 내용, 풀던 알고리즘 문제, C++ 공부 개념 등 임시저장해 둔 약 20~30개 정도의 글이 8개로 줄어있었다. 전에 정리하다 잘못 정리했을까..생각이 많아지고 자책했지만 앞으로 나아가야 하기 때문에 다시 마음 잡고 시작하려 한다. 앞으로는 바로바로 포스팅하는 습관을 기르자!는 교훈을 얻은 것으로 생각하려 한다. 그러한 문제도 있었지만, C++을 다시 배우며 알고리즘을 공부하려니 조금 힘들기도 했다. 비슷한 점도 많지만, '포인터'라는 개념 때문에 가장 힘들었던 것 같다. C언어를 배우며 당시에 포인터라는 개념을 정말 힘들게 공부하고 많은 문제.. 2023. 8. 17.
[BOJ/C#] 1152 단어의 개수 여러 배울 것들이 넘치는데 C++을 처음부터 배워나가며 알고리즘을 공부하려 하니 부담이 많이 되었다. 그래서 다시 C#으로 알고리즘을 일단 공부하고, 벽을 만나거나 내가 어느정도 C#을 다룰 줄 안다고 생각되었을 때 C++을 배울 듯하다. https://www.acmicpc.net/problem/1152 1152번: 단어의 개수 첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열 www.acmicpc.net 입력된 문자열을 공백을 기준으로 나눠 string 배열로 저장하여 단어 수를 출력하는 문제이다. Split으로 string 배열로 저장하고, 공백이 맨 앞.. 2023. 8. 16.
[ BOJ/C++] 10171 고양이, 10172 개 https://www.acmicpc.net/problem/10171 10171번: 고양이 아래 예제와 같이 고양이를 출력하시오. www.acmicpc.net \ /\ ) ( ') ( / ) \(__)| 위와 같은 출력을 요구하는 문제이다. 하지만, 그대로 출력하려 하면 오류가 난다. 바로 \ 때문이다. https://learn.microsoft.com/ko-kr/cpp/c-language/escape-sequences?view=msvc-170 이스케이프 시퀀스 자세한 정보: 이스케이프 시퀀스 learn.microsoft.com 이러한 이스케이프 시퀀스 때문에 \ 뒤에 문자가 오지 않으면 에러로 인식한다. 이러한 경우에 \를 출력하려면 두 번 입력하면 된다. \\ 다음으로 중요한 포인트는 줄바꿈이다. 위와.. 2023. 7. 25.
[BOJ/C++] 2557 Hello World, 10699 오늘 날짜 1. 2577 Hello World 가장 기본적인 문제이다. '성공'표시를 남기기 위해 제출하였다. 이 문제로 C++을 처음 접한다면 표준 라이브러리의 입출력 클래스 iostream 헤더파일 선언. std 네임스페이스의 출력함수 cout참조, 문자열 Hello World!출력 (문제 이름과는 달리 !가 있다. ) #include int main() { std::cout 자세한 정보: learn.microsoft.com 처음에 기본적인 년, 월, 일 출력이 어떻게 되는지 알아보기 위해 출력해보았다. +포인터라는 개념을 알아야한다. C언어를 배우며 가장 핵심이 되었던 내용이라고 생각한다. 당시에 교수님께서 다른 언어를 배우면 포인터라는 개념이 따로 존재하지 않는다고 하셨는데, C++에는 존재하였다. 내일은 .. 2023. 7. 14.
[Unity, C++] 네임스페이스의 단점 Unity C# Using System; , C++ using namespace std;를 지양하는 이유, 범위지정연산자 어제 알아보기로 한 네임스페이스에 관하여 알아보았다. 사실 8개월정도 의문을 품고있었으면서도 이런 내용을 찾아보지 않고 공부하고있었다는점이 부끄럽고 반성하게되었다. 뭐라고 검색해야할지 몰라 using namespace std와 std::를 같이 검색하다 몇가지 글을 찾았다. 내용을 더 찾아보고싶다면 'using namespace/네임스페이스 단점'이라고 검색한다면 찾기 쉬울 것이다. -본론- Unity에서 using System; 대신 System.을 사용하는 이유, C++에서 using namespace std;대신 std::를 사용하는 이유는 무엇일까? using 의 장점 1. 전체적인 코드가 짧아짐 2. 가독성이 좋아짐 개발자의 편의성을 우선적으로 생각한다면 using을 사용하여 선언하겠지만, 개발.. 2023. 7. 13.