반응형

Studying/Algorithms 13

[알고리즘 떠먹여 주는 남자] 백준 1436 - 영화감독 숌

https://www.acmicpc.net/problem/1436 1436번: 영화감독 숌 666은 종말을 나타내는 숫자라고 한다. 따라서, 많은 블록버스터 영화에서는 666이 들어간 제목을 많이 사용한다. 영화감독 숌은 세상의 종말 이라는 시리즈 영화의 감독이다. 조지 루카스는 스타 www.acmicpc.net Sup lads! 이번에 다뤄 볼 알고리즘은 역시 브루트포스 타입의 문제 '영화감독 숌' 입니다. 문제 자체의 난이도는 그다지 높지 않았으나, 제출 결과가 사실 만족스럽지는 않습니다.. 다른 알고리즘 제출 결과들과는 달리 메모리 사용량과 시간이 너무 오래 걸려서인데요. 그래서 다른 분들은 어떤 결과를 얻으셨나 확인하기 위해 '맞힌 사람' 리스트를 확인 해 보았더니 51등에 랭크 되어 있더군요. ..

Studying/Algorithms 2022.04.09

[알고리즘 떠먹여 주는 남자] 백준 7568 - 덩치 for Node.js

Sup lads! 오늘도 어김없이 알고리즘 문제 풀이로 돌아왔습니다. 조금 피곤하기도 했고, 한 번 알고리즘 문제를 잡으면 보통 한 시간 이상 소요했기에 흠.. 고민을 했지만 그래도 도전 해 보았는데 생각보다 문제가 일찍 풀려서 다행인 것 같습니다. 그럼 바로 문제 설명과 풀이로 넘어가 보도록 하겠습니다. https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x, y)로 표시된다. 두 사람 A 와 B의 덩 www.acmicpc.net 덩치 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 5864..

Studying/Algorithms 2022.04.08

[알고리즘 떠먹여 주는 남자] 백준 2231 - 분해합 for Node.js

안녕하세요! 오늘의 알고리즘은 백준 온라인 저지의 브루트포스 카테고리 2번째 문제 분해합입니다. 저는 알고리즘 문제를 해석할 때 항상 애를 먹는데요, 왜 그런지 모르겠습니다. 몇 번을 읽어도 헷갈리고.. 그래서 실수를 자주 하고는 하는데요, 어떻게 개선해 나가야 할 지 아직 감이 잘 잡히지 않습니다.. 일단은 무식하게 노력해 보는 수 밖에 없겠네요, 마치 브루트포스처럼. https://www.acmicpc.net/problem/2231 2231번: 분해합 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 www.acmicpc.ne..

Studying/Algorithms 2022.04.06

[알고리즘 떠먹여 주는 남자] 백준 2798 - 블랙잭 for Node.js

안녕하세요! 두둥! 오늘의 마지막 알고리즘, 바로 블랙잭입니다. 이 문제는 백준 온라인 저지의 브루트포스 카테고리 안에 있는 문제입니다. 브루트포스 알고리즘에 대하여 아주 간단하게 설명을 드리자면, 무식하게 다 해보는 것입니다. 모든 경우의 수를 다 찾아보고 요구 조건에 맞는 결과값을 도출합니다. 따라서 시간 복잡도가 매우 높기 때문에 비싼 (비효율적인) 알고리즘이라고 할 수 있습니다. 하지만 브루트포스 알고리즘을 사용해서 문제를 해결해야 할 경우가 분명히 있으니 우리가 배우고 공부하는 것이겠죠..? 그럼 문제 풀이로 들어가 보겠습니다. https://acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 ..

Studying/Algorithms 2022.04.05

[알고리즘 떠먹여 주는 남자 - 번외편] 백준 알고리즘 풀이용 로컬 테스트 환경 구축

안녕하세요! 알고리즘 문제 풀이를 하다가 문득 로컬 개발 환경에서 제가 사용하는 코드 디버깅 방법을 공유하면 좋겠다 싶어서 이렇게 포스트를 작성하게 되었습니다. 저같은 알린이들에게는 제출 전 테스트 + 코딩 용으로 꽤 유용한 방법이 되지 않을까 싶은데요.. 물론 가끔씩 로컬 환경에서는 예상되는 결과값이 출력되는데도 막상 제출하고 나면 틀렸다고 나오는 경우도 있습니다. 그건 논외로 제쳐두고 이번에는 제가 로컬 개발 환경을 어떻게 설정해 놓았는지 그 방법을 공유하려고 합니다. 참고로 저는 VSCode (Visual Studio Code) 를 메인 IDE 로 사용하고 있습니다. 그 외에 Sublime Text 도 사용하지만 주로 제가 공부 한 내용들을 작성하는 노트 용도나 간단한 코드 열람용으로 사용하고 있습..

Studying/Algorithms 2022.04.05

[알고리즘 떠먹여 주는 남자] 백준 1110 - 더하기 사이클 for Node.js

안녕하세요, 최근 알고리즘 풀이 포스팅을 많이 올리는데, 책 읽으면서 공부하다가 막상 문제 풀이를 위해 코딩을 조금씩이라도 하면서 생각 하니까 시간은 좀 더 걸리고 어렵더라도 재미는 더 있는 것 같아요. 균형을 맞추는 게 중요한데.. 오늘의 알고리즘 포스팅은 이거 하나로 만족해야 할 것 같습니다. https://acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 ..

Studying/Algorithms 2022.04.05

[알고리즘 떠먹여 주는 남자] 백준 15552 - 빠른 A + B for Node.js

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 문제 본격적으로 for문 문제를 풀기 전에 주의해야 할 점이 있다. 입출력 방식이 느리면 여러 줄을 입력받거나 출력할 때 시간초과가 날 수 있다는 점이다. C++을 사용하고 있고 cin/cout을 사용하고자 한다면, cin.tie(NULL)과 sync_with_stdio(false)를 둘 다 적용해 주고, endl 대신 개행문자(\n)를 쓰자. 단, 이렇게 하면 더 이상 scanf/printf/puts/getcha..

Studying/Algorithms 2022.04.04

[알고리즘 떠먹여 주는 남자] 백준 8393 - 합 for Node.js

안녕하세요! 알고리즘 풀이 연습 중 반복문 기초 문제를 하나 풀었는데 물론 간단한 문제이지만 좋아 보여서 이렇게 포스팅 하게 되었습니다. https://www.acmicpc.net/problem/8393 8393번: 합 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. www.acmicpc.net 문제 n이 주어졌을 때, 1부터 n까지 합을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n (1 ≤ n ≤ 10,000)이 주어진다. 출력 1부터 n까지 합을 출력한다. 예제 입력 1 복사 3 예제 출력 1 복사 6 문제풀이 기초적인 반복문 문제로 for 혹은 while 루프를 사용하여 간단하게 풀 수 있지만, 저는 재귀함수 (recursive function) 을 이용하여 풀어 보았습니..

Studying/Algorithms 2022.04.04

[알고리즘 떠먹여 주는 남자] 백준 1157 - 단어 공부 for Node.js

안녕하세요.. 오늘도 알고리즘을 떠 드리기 위해 왔습니다. 최근 자바스크립트 공부에 열을 올렸는데, 아무래도 알고리즘을 너무 소홀히 한 것 같습니다. 가뜩이나 알고리즘 푸는 것도 오래 걸리는데 말이죠.. 참 연습을 하는데도 잘 늘지가 않는 것 같네요 ㅠㅠ 좀 더 정진해야 할 것 같습니다..! https://www.acmicpc.net/problem/1157 1157번: 단어 공부 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. www.acmicpc.net 오늘은 어떤 문제를 풀어볼까 찾아보다가 예전에 알고리즘 다시 공부 시작했을 때 빼먹고 넘어간 게 있더라구요.. 정확히 말하자면 못풀고 넘어간..

Studying/Algorithms 2022.04.04

[알고리즘 떠먹여 주는 남자] 백준 2525 - 오븐 시계 for Node.js

https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 KOI 전자에서는 건강에 좋고 맛있는 훈제오리구이 요리를 간편하게 만드는 인공지능 오븐을 개발하려고 한다. 인공지능 오븐을 사용하는 방법은 적당한 양의 오리 훈제 재료를 인공지능 오븐에 넣으면 된다. 그러면 인공지능 오븐은 오븐구이가 끝나는 시간을 분 단위로 자동적으로 계산한다. 또한, KOI 전자의 인공지능 오븐 앞면에는 사용자에게 훈제오리구이 요리가 끝나는 시각을 알려 주는 ..

Studying/Algorithms 2022.04.03
반응형