본문 바로가기

Algorithm/문제 풀이 (Problem Solving)29

[C++] 백준 1181번 단어정렬 문제풀이 문제 링크 백준 1181번 단어정렬 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 간단한 심화 정렬 문제이다. string으로 단어를 받고 sort 함수를 이용해 정렬을 하는데 compare 함수를 따로 길이순으로 반환을 한 후에 길이가 같다면 알바벳순으로 오름자순 정렬을 하는 형식이다. string size 함수를 이용해 길이를 파악하고 길이가 같다면 단순 비교를 통해 함수를 만들었다. 정렬을 공부하는 사람이라면 도움이 많이 될 것이다. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 .. 2019. 1. 24.
[C++] 코드그라운드 버스타기 문제풀이 버스타기 N 명의 바둑 선수들이 몇 대의 버스에 나누어 타려고 한다. 선수들은 1부터 N까지 번호가 붙어 있다. 각 선수는 실력 값을 가지고 있다. 선수 i번의 실력 값을 Ai라고 하자. 선수들 간의 경쟁심 때문에 두 선수의 실력 차이가 K이하인 경우는 같은 버스에 타지 않는다고 한다. 즉, 두 선수 i번과 j번의 (i≠j) 실력이 |Ai−Aj|≤K를 만족하는 경우 같은 버스에 타지 않는 것이다. 한 대의 버스에 탈 수 있는 인원은 무제한이라고 한다. 철수는 선수들의 실력을 입력으로 받아서 필요한 버스 수의 최소값을 계산하려고 한다. 여러 선수들이 서로 같은 버스를 타지 않는 관계가 매우 복잡해 보이지만, 철수는 아주 간단한 계산 방법이 있다는 것을 알게 되었다. 철수를 도와서 버스 수의 최소값을 계산하.. 2019. 1. 10.
[C++] 코드그라운드 숫자골라내기 문제풀이 숫자 골라내기초등학교교 학생인 정우와 석환이는 최근 학교에서 두 이진수의 XOR 연산에 대해 배웠다. 둘은 매우 영특한 학생이라 새로 배운 연산을 갖고 이리저리 장난치기 시작했다. 다만 석환이는 정우에게 일을 시키는 것을 좋아하는지라 다음과 같은 제안을 했다. “내가 N개의 10진수를 주면, 등장하는 숫자들 중 홀수번만 나타나는 숫자들을 모두 XOR한 결과를 구해줘.” 예를 들어 '2, 5, 3, 3' 이 주어질 경우, '2'와'5'는 1번(홀수 번) 나타나고 '3' 은 2번 (짝수 번) 나타나므로 홀수 번 나타난 '2' 와 '5'를 XOR 한 결과를 구해야 하고, '2, 5, 3, 3, 2, 4, 5, 3' 이 주어질 경우 '2' 와 '5' 는 2번 나타나고, '3' 은 3번, '4' 는 1번 나타나므.. 2018. 9. 19.
[C++] 프로그래머스 가운데 글자 가져오기 문제풀이 가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s return abcde c qwer we 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 #include #include using namespace std; string solution(string s) { string answer = ""; string a=s; if(s.length()%2==0){ answer.push_back(a[s.length()/2-1]); answer.push_back(a[s.length()/2]); } else answ.. 2018. 9. 2.
[C++] 백준 1002번 터렛 문제풀이 문제 링크 백준 1002번 터렛 1002번: 터렛 각 테스트 케이스마다 류재명이 있을 수 있는 위치의 수를 출력한다. 만약 류재명이 있을 수 있는 위치의 개수가 무한대일 경우에는 -1을 출력한다. www.acmicpc.net 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 28 #include #include using namespace std; int main() { long long T=0,C=0,sr=0,br=0; double A=0; long long x1=0,x2=0,y1=0,y2=0,r1=0,r2=0; cin>>T; while(T!=0){ cin>>x1>>y1>>r1>>x2>>y2>>r2; A=sqrt(abs(x1.. 2018. 8. 6.