컴퓨터공학

    5704 팬그램 문자열 처리 문제 백준

    5704 팬그램 문자열 처리 문제 백준

    https://www.acmicpc.net/problem/5704팬그램알파벳 배열 25개 짜리 만든 후에 문장에 알파벳이 존재하면 체크해주고체크가 모두 되어있으면 Y 출력 아니면 N 출력 소스 보기 #include #include using namespace std;int main(){ char ar[201],alpa[26]; memset(ar,0,sizeof(ar)); memset(alpa,0,sizeof(alpa)); //배열 초기화 while(1){ cin.getline(ar,201,'\n'); int i=0; if(ar[0]=='*') break; //별이 입력되면 while문 종료 while(1){ alpa[(int)ar[i]-97] = 1; //0부터 25까지 할당된 소문자 배열에 문자가 입력..

    백준 5026 박사 과정 문자열 처리

    백준 5026 박사 과정 문자열 처리

    https://www.acmicpc.net/problem/5026박사과정 5026 개행문자와 1의 자리숫자 이상의 숫자일때 처리해야 하는 부분과strcmp로 글자를 비해 숫자가 아닐때 다른 값을 출력해줘야함 코드 보기 #include #include using namespace std; int main(){ int n=0,sum=0,temp=0; char ar[20]; cin >> n; cin.ignore(); for(int i=0; i

    백준 11024번 더하기 4

    백준 11024번 더하기 4

    https://www.acmicpc.net/problem/11024 더하기 4 에서 https://www.acmicpc.net/problem/11023더하기 3 처럼 EOF 처리만 해주면 '\n' 개행 문자 때문에 테스트 케이스 만큼 반복문을 처리하지 못하고 첫 케이스에서 문자를 다먹어 버린다. 소스보기#include using namespace std;int main(){ int sum=0,t=0,temp=0; char ar[101]; cin >> t; //테스트 케이스 입력 cin.ignore(); //t 입력하면서 버퍼에 입력된 개행문자 제거 while(t--){ cin.getline(ar,100,'\n'); for(int i=0; i

    백준 2309 일곱난쟁이 브루트 포스

    9명 중에 7명의 키의 합이 100이 되는 일곱난쟁이를 찾아내는 문제. 처음에 DFS로 다 찾으려고 했는데, 왜 구현을 못하지... 결국 다른 사람의 푼 문제를 참고하여 풀었음. 일곱 난쟁이 성공 스페셜 저지문제집 시간 제한메모리 제한제출정답맞은 사람정답 비율2 초128 MB53732968235556.407%문제왕비를 피해 일곱 난쟁이들과 함께 평화롭게 생활하고 있던 백설공주에게 위기가 찾아왔다. 일과를 마치고 돌아온 난쟁이가 일곱 명이 아닌 아홉 명이었던 것이다.아홉 명의 난쟁이는 모두 자신이 "백설 공주와 일곱 난쟁이"의 주인공이라고 주장했다. 뛰어난 수학적 직관력을 가지고 있던 백설공주는, 다행스럽게도 일곱 난쟁이의 키의 합이 100이 됨을 기억해 냈다.아홉 난쟁이의 키가 주어졌을 때, 백설공주를 ..

    10799 쇠막대기 백준 알고리즘 문제 스택

    Stack 괄호 문제를 풀고나서 다른 스택문제를 찾다가 괜찮은것 같은 문제를 발견했다. 바로 ! 10799 쇠막대기 https://www.acmicpc.net/problem/10799괄호를 스택에 넣으면서 열고 닫히는 괄호를 확인하여 쪼개지는 쇠막대기의 갯수를 세어 출력한다.쇠막대기 성공문제집 시간 제한메모리 제한제출정답맞은 사람정답 비율1 초256 MB31871735134254.398%문제여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저의 배치는 다음 조건을 만족한다.쇠막대기는 자신보다 긴 쇠막대기 위에만 놓일 수 있다. - 쇠막대기를 다른 쇠막대기 위에 놓는 경우 완전히..

    Quicksort 2 - Sorting Hackerrank 퀵정렬 퀵소트 문제!

    퀵소트 ! 퀵 정렬 !병합 정렬 , Merge Sort 와 같은 divide conquer 정렬이며O(nlogn) 이 걸리지만 병합 정렬보다 평균 속도가 20% 빠르다. Quicksort 2 - Sorting 문제에 java로 작성된 코드를 그대로 사용하려 노력했다.배열을 넘기기 위해 int [] ar 배열을 백터로 바꾸고 배열을 총 3개 준비 했다. 왼쪽 배열 오른쪽 배열 pivot을 선언하고돌아갈때마다 원래의 전체 배열의 index 0 부터 할당 해주었다. 배열의 크기가 2보다 작을 경우는 이미 정렬된 배열이기 때문에 return을 해줬다. left , right 로 계속해서 함수를 재귀적으로 호출한다.마지막까지 다다르면 left pivot right 순으로 인쇄하며, 원래의 ar 배열에 index ..

    Quicksort 1 - Partition Hackerrank 퀵소트 퀵정렬 알고리즘

    퀵소트, 퀵정렬정렬되지 않은 배열의 값을 임의로 pivot 변수로 정한 후pivot 보다 작은건 왼쪽 큰건 오른쪽으로 분리 시킨다. 재귀적으로 정렬을 반복하다 보면 O(nlogn) 수행시간안에 정렬이 완료된다. Divide and conquer 분할 정복 알고리즘중에 하나! 아래 문제는 처음 1회의 퀵소트 정렬을 마친 배열을 출력하라고 한다.Quicksort 1 - Partition by HackerRankThe previous challenges covered Insertion Sort, which is a simple and intuitive sorting algorithm with an average case performance of . In these next few challenges, we'..

    Insertion Sort 삽입 정렬 Hackerrank

    Insertion Sort - Part 1 by HackerRankSorting One common task for computers is to sort data. For example, people might want to see all their files on a computer sorted by size. Since sorting is a simple problem with many different possible solutions, it is often used to introduce the study of algorithms.Insertion Sort These challenges will cover Insertion Sort, a simple and intuitive sorting algo..