목록Computer/Coding Test (121)
Machineboy空

#1152 단어의 개수 while(cin>>s) n++;//입력값이 없을 때까지 반복 아직 printf나 scanf를 잘 활용하지 못하겠다. cin >> A >> B >> C 공백 기준 getline(cin,t) '\n' 기준 #2908 문자열 뒤집기 string a; int b; b = stoi(a);//문자열 숫자로 받기 stoi(string); : 문자열 아스키 코드아닌 숫자로 변환 #5622 다이얼 My 풀이) 번호마다 할당된 문자의 개수가 일정하지 않아서 개수 누적한 배열 만든 후, 어디에 위치할지 선택정렬로 비교하며 위치를 찾았다. 남의 풀이) 할당된 문자의 마지막 문자와 입력 문자의 대소 비교 통해 위치 찾아냄 #import char a; int b; main() { while (std::c..
Mine) using System; public class Solution { public string solution(string my_string) { string answer = ""; answer = my_string.Replace("a",""); answer = answer.Replace("e",""); answer = answer.Replace("i",""); answer = answer.Replace("o",""); answer = answer.Replace("u",""); return answer; } } 다른 사람 풀이) using System; using System.Text.RegularExpressions; //01. foreach문 사용 public class Solution { ..
Mine) - 규칙에 부합하는 숫자 리스트 미리 생성 - n: index값으로 사용 한계) 계산 횟수도 많고, n값 커지면 대응하지 못함 using System; using System.Collections.Generic; public class Solution { public int solution(int n) { int answer = 0; List arr = new List(); for (int i = 1; i < 200; i++) { if (i % 3 != 0 && !i.ToString().Contains("3")) { arr.Add(i); } } arr.Sort(); answer = arr[n-1]; return answer; } } 다른 사람 풀이) - n: 반복 횟수로 사용 using Sys..

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 문제요약 DFS와 BFS로 각 탐색 순서 출력 난이도 Silver 2 풀이 포인트 1차원 DFS, BFS 정직한 구현 REVIEW 테스트 케이스는 통과했으나, 제출하니 오답이 떴다. 무엇을 놓쳤나 모범코드와 비교해보니 반복 범위를 잘못 설정했다. 문제 범위 1 v; for (int i = 0; i > a >> b; // 1. DF..

import sys sys.setrecursionlimit(10000) input = sys.stdin.readline n,m = map(int, input().split()) #_를 쓰는 이유: i에 관해 반복한다? 할 때 그 인덱스의 의미가 없고, 반복 횟수 만이 의미가 있을 때 A = [[] for _ in range(n+1)] #N개의 노드만큼의 인접 리스트를 만들어 둔다. visited = [False] * (n+1) #방문리스트 n개 또한 만들어 둔다. def DFS(v): # DFS(깊이우선탐색) 함수 정의 visited[v] = True # 방문리스트 값이 True면 반환, False면 DFS 재귀함수 호출 for i in A[v]: if not visited[i]: DFS(i) for _..

class Program { static void Main(string[] args) { int N = int.Parse(Console.ReadLine()); Queue myQueue = new Queue(); for (int i = 1; i 1) { myQueue.Dequeue(); myQueue.Enqueue(myQueue.Dequeue()); } Console.WriteLine(myQueue.Peek()); } } from collections import deque N = int(input()) myQueue = deque() for i in range(1,N+1): myQueue.append(i) while len(myQueue) >1: myQueue.popleft() myQueue.append..

N의 범위가 1000이하로 매우 작기 때문에 n2^시간 복잡도 알고리즘으로 풀 수 있다. N = int(input()) A = [0] * N for i in range(N): A[i] = int(input()) for i in range(N-1): for j in range(N-1-i): if A[j] > A[j+1]: temp = A[j] A[j] = A[j+1] A[j+1] = temp for i in range(N): print(A[i])