본문 바로가기

c#/알고리즘13

10845번 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �� www.acmicpc.net 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아.. 2020. 7. 26.
정리 알고리즘 밀린 문제 정리해야겠다 1. 1343번 폴리오미노 - 풀었당♪2. 1302번 베스트셀러 - 풀었당♪3. 2504번 괄호의 값 - 어려워....일단 패스 스택 풀었는데 런타임 에러 - 해결4. 10845번 큐 - 풀었다....! 빡침의 연속이였다....5. 1074번 z - 풀었다!!!!!!!너무 어려워..재귀..잊지않을게..6. 1967번 트리의 지름 등등이 있다하나씩 다시 시작해서 풀어보자....!! 와아 이제 어려운 것만 남은거 같다 하하하하하하 풀수있겠지...? 화이팅...! 2020. 7. 8.
1074번 z https://www.acmicpc.net/problem/1074 1074번: Z 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 �� www.acmicpc.net 재귀함수를 사용해서 풀으라했는데 호출한 함수가 자신의 함수를 또 호출하는 반복 함수가 재귀함수라 한다 그래서 일정 조건을 안걸어주면 스택 오버플로우가 발생한다 함 꼭 탈출조건을 걸어줘야한다 Math.Pow(double x, double y)를 사용하면 지정된 숫자의 거듭제곱을 반환해준다 double로 반환하기때문에 int로 바꿔줘야 함!! 함수를 만들어서 size, row, col .. 2020. 6. 29.
2504번 괄호의 값 - 런타임 에러 - 해결 https://www.acmicpc.net/problem/2504 2504번: 괄호의 값 4개의 기호 ‘(’, ‘)’, ‘[’, ‘]’를 이용해서 만들어지는 괄호열 중에서 올바른 괄호열이란 다음과 같이 정의된다. 한 쌍의 괄호로만 이루어진 ‘()’와 ‘[]’는 올바른 괄호열이다. 만일 www.acmicpc.net stack을 이용해서 풀어야한다 밑에 그림 참고해서 괄호를 하나씩 확인해서 stack에 넣고 확인하고 쌓고 빼고 숫자 넣고 더하고 빼고 반복해야한다 그러고 남아있는게 없으면 올바른 괄호이고 계산을 하면된다 계산은 괄호 다 풀고 마지막에 남은거 더해서 출력하면 됨 값은 다 잘나오는데 런타임 에러 뜬다ㅠㅠㅠㅠ뭐가 문제인지...? )), ]] 입력받으면 스택이 비어있는데 peek로 확인을 해서 에러가.. 2020. 6. 18.
1302번 베스트셀러 https://www.acmicpc.net/problem/1302 1302번: 베스트셀러 첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고 www.acmicpc.net 입력 값 첫번째는 팔린 책의 갯수 그 다음 줄부터는 팔린 책의 제목들이 차례로 들어온다 그 중 가장 많이 팔린 제목을 출력해주면 됨! 어떻게 풀어야할지 감이 안잡히는뎅....일단 하나씩 비교해서 int 하나 만들어서 값 올려주고 비교해야 할 듯?? 값 받고 int 2개 count, max 만들고 카운트 올려서 이걸 비교할거임 결과 넣을 string 하나 만들고 제목 비교 할 string 제.. 2020. 6. 8.
1343번 폴리오미노 https://www.acmicpc.net/problem/1343 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 민식이는 다음과 같은 폴리오미노 2개를 무한개만큼 가지고 있다. AAAA와 BB 이제 '.'와 'X'로 이루어진 보드판이 주어졌을 때, 민식이는 겹침없이 'X'를 모두 폴리오미노로 덮으려고 한다. 이때, '.'는 폴리오미노로 덮으면 안 된다. 폴리오미노로 모두 덮은 보드판을 출력하는 프로그램을 작성하시오. AAAA, BB 두개를 가지고 있고 자릿수를 보면 AAAA는 4개, BB는 2개이다 X의 갯수로 끊어서 알파벳을 알맞게 출력해주면 될 듯 자릿수로 끊어지지 않으면 -1 출력 .은 그냥 구분하는 점이.. 2020. 6. 1.
1181 단어 정렬 https://www.acmicpc.net/problem/1181 1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1≤N≤20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 길이가 짧은 것부터 길이가 같으면 사전 순으로 풀이 IComparer 인터페이스 상속받는 클래스를 만들고 string 받아서 길이가 같다면 단어 오름차순 정렬, 길이가 같지 않다면 길이로 오름차순 정렬 후 반환하는 Compare 메서드 만듬 단어 배열을 만들어서 중복 값은 배열에 안담고 중복안되는 단어만 담음 List Sort로 정렬하는데 상단 Compare 구현한 것을 이용 후 foreach.. 2020. 5. 25.
2135 문자열 압축하기 - 어려워..나중에 https://www.acmicpc.net/problem/2135 2135번: 문자열 압축하기 문제 어떤 문자열에서 특정한 패턴이 반복될 경우, 이를 이용하여 문자열을 좀 더 짧게 나타낼 수도 있다. 이러한 방법을 압축 기법이라고 하는데, 문자열을 압축하기 위한 여러 가지 효율적인 � 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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 using System; using System.Collections.Generic; using System.Linq;.. 2020. 5. 18.
9996번 한국이 그리울 땐 서버에 접속하지 https://www.acmicpc.net/problem/9996 9996번: 한국이 그리울 땐 서버에 접속하지 문제 선영이는 이번 학기에 오스트레일리아로 교환 학생을 가게 되었다. 호주에 도착하고 처음 며칠은 한국 생각을 잊으면서 즐겁게 지냈다. 몇 주가 지나니 한국이 그리워지기 시작했다. 선 www.acmicpc.net 입력받은 패턴 값을 *로 나누어서 파일 이름의 값 중에 첫번째, 마지막 문자열과 비교하여 첫번째 마지막 둘다 일치할시 DA를 출력 둘중 하나라도 틀릴 시 NE 출력 입력받은 패턴 값을 *로 split 해서 가지고 있고 file 배열 만들어서 입력받은 파일 이름 담음 foreach 돌면서 Strings.Left, Strings.Right 이용해서 문자열 1번째, 마지막 찾아서 패턴과 일.. 2020. 5. 17.
9933 민균이의 비밀번호 https://www.acmicpc.net/problem/9933 9933번: 민균이의 비밀번호 문제 창영이는 민균이의 컴퓨터를 해킹해 텍스트 파일 하나를 자신의 메일로 전송했다. 파일에는 단어가 한 줄에 하나씩 적혀있었고, 이 중 하나는 민균이가 온라인 저지에서 사용하는 비밀번�� www.acmicpc.net 민균이의 목록이 있는데 민균이의 비밀번호는 이 목록에 포함되어 있으며, 비밀번호를 뒤집어서 쓴 문자열도 포함되어 있다. 그러니까 목록 중에 거꾸로 되어있는 비밀번호가 있다면 그게 바로 비밀번호이고 출력 값은 그 찾은 비밀번호의 단어 길이와 가운데 위치한 문자열 1개이다. 풀이 비밀번호 배열과 역순 비밀번호 배열을 만들고 입력받은 값은 passWord 배열에 Array.Reverse 사용하여 역순으.. 2020. 5. 15.
11654 아스키 코드 출처 : http://blog.naver.com/PostView.nhn?blogId=ouwukwfy&logNo=220248439711&parentCategoryNo=16&categoryNo=&viewDate=&isShowPopularPosts=true&from=search 아스키코드표 (ASCII) 안녕하세요 갠역시 입니다. 오늘은 아스키코드표와 아스키코드란 무엇인지에 대해 포스팅 할까 합니다. 아... blog.naver.com ASCII (American Standard Code for Information Interchange) 라는 약자로써 ANSI 라는 미국 표준 협회에서 제정한 문자 표현 방식을 말한다 함. 아스키표에 해당하는 값을 입력받으면 받은 값을 char로 변환시켜서 변수에 담고 담은 .. 2020. 5. 15.
백준 7568 문제 덩치 https://www.acmicpc.net/problem/7568 7568번: 덩치 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩� www.acmicpc.net 처음에 풀때 x, y의 값을 따로 배열에 담아서 비교하려고 해서 코드가 꼬이고 방법이 어려움을 느낌 그래서 body 클래스를 따로 만들어 변수를 생성하고 클래스의 생성자로 값을 할당함 클래스 배열을 만들어서 키와 몸무게 값을 한번에 비교할 수 있게 함 Select를 사용하면 좀 더 간결하게 코드를 만들 수 있다해서 다시 만들어 볼 예정 1 2 3 4 5 6 7 8 9 10 11 12 .. 2020. 5. 13.