본문 바로가기

Algorithm

(2139)
(C++) - 백준(BOJ) 1145번 : 적어도 대부분의 배수 답 www.acmicpc.net/problem/1145 1145번: 적어도 대부분의 배수 첫째 줄에 다섯 개의 자연수가 주어진다. 100보다 작거나 같은 자연수이고, 서로 다른 수이다. www.acmicpc.net brute force문제였습니다. 풀이방법 나누어 떨어지는 숫자의 개수가 3개 이상이 될 때까지 수를 1씩 증가시킵니다. Code #include using namespace std; int num[5]; int ans = 1; int getCnt(int n){ int cnt = 0; for(int i = 0; i > num[i]..
(Javascript) - 프로그래머스(2019 KAKAO BLIND) : 오픈채팅방 답 programmers.co.kr/learn/courses/30/lessons/42888 코딩테스트 연습 - 오픈채팅방 오픈채팅방 카카오톡 오픈채팅방에서는 친구가 아닌 사람들과 대화를 할 수 있는데, 본래 닉네임이 아닌 가상의 닉네임을 사용하여 채팅방에 들어갈 수 있다. 신입사원인 김크루는 카카오톡 오 programmers.co.kr map을 이용해 풀면 되는 문제였습니다. 풀이방법 map을 이용해 key값은 id, value는 nickName으로 생각해 무조건 닉네임이 존재하는 경우에 map을 update 해주는 생각을 했습니다. 1. record를 돌며 해당 정보를 map의 set함수를 이용해 저장합니다. 2. 마지막까지 change된 nickname까지 모두 반영이 되기 때문에 갱신이 완료된 map을..
(C++) - 백준(BOJ) 1189번 : 컴백홈 답 www.acmicpc.net/problem/1189 1189번: 컴백홈 첫 줄에 정수 R(1 ≤ R ≤ 5), C(1 ≤ C ≤ 5), K(1 ≤ K < R*C)가 공백으로 구분되어 주어진다. 두 번째부터 R+1번째 줄까지는 R x C 맵의 정보를 나타내는 .과 T로 구성된 길이가 C인 문자열이 주어진다. www.acmicpc.net dfs를 이용해 구현 할 수 있는 문제였습니다. 풀이방법 1. T인경우 이거나 이미 방문한 경우에는 갈 수 없는 길입니다. 2. 방문을 한 후 dfs를 또 호출해 다음 길로 가며 호출 후에는 해당 길 방문했던 기록을 없앰으로써 다른 경로에서 온 경우를 제하는 것을 방지합니다. Code #include using namespace std; int dx[4] = {0,0,1,-..
(C++) - 백준(BOJ) 5928번 : Contest Timing답 www.acmicpc.net/problem/5928 5928번: Contest Timing Bessie the cow is getting bored of the milk production industry, and wants to switch to an exciting new career in computing. To improve her coding skills, she decides to compete in the on-line USACO competitions. Since she notes that the contest starts on www.acmicpc.net 시간계산 문제였습니다. 풀이방법 1. 0일 0분 0시를 기점으로 11월 11일 오전 11시 11분을 분단위로 계산합니다. 2. 마찬가지..
(Python) - 백준(BOJ) 12780번 : 원피스 답 www.acmicpc.net/problem/12780 12780번: 원피스 바야흐로 지금은 대해적 시대, 밀짚모자 해적단의 선장 교정이는 어린 시절 우연히 잊지 못할 한 마디를 들었다. 그것은 바로 해적 왕 골.D.상윤이 자신이 모은 모든 보물인 원피스를 위대한 항 www.acmicpc.net 간단한 문자열 세기 문제였습니다. clue = input() word = input() print(clue.count(word))
(C++) - 백준(BOJ) 12605번 : 단어순서 뒤집기 답 www.acmicpc.net/problem/12605 12605번: 단어순서 뒤집기 스페이스로 띄어쓰기 된 단어들의 리스트가 주어질때, 단어들을 반대 순서로 뒤집어라. 각 라인은 w개의 영단어로 이루어져 있으며, 총 L개의 알파벳을 가진다. 각 행은 알파벳과 스페이스로만 www.acmicpc.net 간단한 문자열 처리 문제였습니다. Code #include using namespace std; int t; string getOppositeSentence(string sentence){ int size = sentence.size(); string ans = ""; string tmp = ""; vector s; for(int i = 0; i < size; i++){ tmp += sentence[i]; i..
(C++) - 백준(BOJ) 2160번 : 그림 비교 답 www.acmicpc.net/problem/2160 2160번: 그림 비교 N(2≤N≤50)개의 그림이 있다. 각각의 그림은 5×7의 크기이고, 두 가지 색으로 되어 있다. 이때 두 가지의 색을 각각 ‘X’와 ‘.’으로 표현하기로 하자. 이러한 그림들이 주어졌을 때, 가장 비슷 www.acmicpc.net 구현해 brute force하는 문제였습니다. 풀이방법 1. 모든 그림 쌍에 대해 다른 정도를 비교해 계속 그림 정보를 갱신해줍니다. 2. 답이 한 개이므로 다른 정도 같은 여러 그림의 쌍을 생각할 필요가 없습니다. Code #include using namespace std; int n; vector picture; int minPic[2]; int minPivot = 0x7f7f7f7f; int g..
(Python) - 백준(BOJ) 5893번 : 17배 답 www.acmicpc.net/problem/5893 5893번: 17배 첫째 줄에 이진수 N이 주어진다. N은 최대 1000자리인 이진수이며, 0이 들어오는 경우는 없다. www.acmicpc.net 진법변환을 이용해 답을 출력하는 문제였습니다. bin(number) __builtin__ module에 포함된 function 으로 전달받은 integer 혹은 long integer 자료형의 값을 앞에 0b가 포함됨 이진수(binary) 문자열로 돌려줍니다. 출처: https://technote.kr/242 [TechNote.kr] 풀이방법 1. python의 str함수를 이용해 진법 변환후 17을 곱합니다. 2. bin함수를 이용해 10진법을 2번법으로 변환한 수를 출력합니다. Code n = int(i..