목록전체 글 (113)
W 개발 일지
2021.04.09 - [C/자료구조] - [자료구조] C언어 연결리스트(Linked list) 생성 / 출력 [자료구조] C언어 연결리스트(Linked list) 생성 / 출력 연결리스트 만들기 "월" "화" "수" "목" "금" 등 요일을 데이터값으로 갖는 연결리스트를 만들어보자. typedef struct node { char data; struct node* next; } .. tildacoderecorder.tistory.com *이 글의 예제는 연결리스트의 생성과 출력에 대해 요약한 전 글과 같은 구조체를 사용. 연결리스트의 첫 번째 노드로 삽입하기 char val의 값은 전 글에서 말했듯이 "월"으로 한다. typedef struct node { char data; struct node* n..
tildacoderecorder.tistory.com/96 [자료구조] C언어 연결리스트(Linked list) 생성 / 출력 연결리스트 만들기 "월" "화" "수" "목" "금" 등 요일을 데이터값으로 갖는 연결리스트를 만들어보자. typedef struct node { char data; struct node* next; } .. tildacoderecorder.tistory.com 저번 글에서 연결리스트의 생성과 출력에 대한 기본적인 것들에 대해 알아봤다. 이번 글에서는 조건이 있는 출력에 대해 알아볼 것이다. *예제에 쓰인 연결리스트는 전 글의 연결리스트와 동일 마지막에서 두 번째 데이터만 출력하기 마지막에서 두번째만 출력하기 위해서는 먼저 세 가지 조건을 살펴봐야한다. 1. 연결리스트에 다른 노..
연결리스트 만들기 "월" "화" "수" "목" "금" 등 요일을 데이터값으로 갖는 연결리스트를 만들어보자. typedef struct node { char data; struct node* next; } Node; Node* head = NULL; cs 먼저 구조체로 "노드"의 틀을 만든다. 노드에는 데이터가 들어갈 데이터 변수와 다음 노드를 가리킬 포인터 변수가 있어야 한다. 데이터 변수는 어떠한 자료형이어도 상관없다. typedef으로 구조체의 별칭을 Node로 정해둔다. 연결리스트의 맨 앞 노드는 head라 부르며 head는 첫번째 노드를 가리키고 있어야 한다. ( = 첫번째 노드의 주소를 가지고 있어야 함.) 위와 같이 head를 선언한 것을 그림으로 그리면 아래와 같다. head안에 데이터 값도..
문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. import java.util.*; class Solutio..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
문제 설명 카카오에 입사한 신입 개발자 네오는 "카카오계정개발팀"에 배치되어, 카카오 서비스에 가입하는 유저들의 아이디를 생성하는 업무를 담당하게 되었습니다. { 중략 } 1단계 new_id의 모든 대문자를 대응되는 소문자로 치환합니다. 2단계 new_id에서 알파벳 소문자, 숫자, 빼기(-), 밑줄(_), 마침표(.)를 제외한 모든 문자를 제거합니다. 3단계 new_id에서 마침표(.)가 2번 이상 연속된 부분을 하나의 마침표(.)로 치환합니다. 4단계 new_id에서 마침표(.)가 처음이나 끝에 위치한다면 제거합니다. 5단계 new_id가 빈 문자열이라면, new_id에 "a"를 대입합니다. 6단계 new_id의 길이가 16자 이상이면, new_id의 첫 15개의 문자를 제외한 나머지 문자들을 모두 ..
문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 import java.util.Arrays; class Solution { public String solution(String[] participant, String[] completion) { String answer = ""; Arrays.sort(participant..
문제 설명 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 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 import java.util.*; class Solution { public int[] solution(int[] numbers) { ArrayList list = new ArrayList(); for ( int i = 0; i