Một số bài code đơn giản có thể giải 1 line với C# Linq
C#
28
Lảm Nhảm
2
White

Rice viết ngày 16/11/2018

Hôm nay mình lang thang trên CodeWar và nhặt được mấy bài code khá thú vị. Vì mình quen dùng python nên rất thích làm sao có thể giải trong 1 line ( nhưng chưa chắc đã tốt hơn nhiều line :smile:). Mình đã thử làm một vài bài với 1 line c# và thành công. Sau đây là vài bài mà mình nhặt được. Các bạn thử làm trước và sau đó có thể xem solution của mình ở bên dưới. Nếu thấy solution của mình chưa hay thì refactor luôn solution của mình nhé. :smile:

Counting Duplicates

Count the number of Duplicates
Write a function that will return the count of distinct case-insensitive alphabetic characters 
and numeric digits that occur more than once in the input string. 
The input string can be assumed to contain only alphabets (both uppercase and lowercase) and numeric digits.

Example
"abcde" -> 0 # no characters repeats more than once
"aabbcde" -> 2 # 'a' and 'b'
"aabBcde" -> 2 # 'a' occurs twice and 'b' twice (`b` and `B`)
"indivisibility" -> 1 # 'i' occurs six times
"Indivisibilities" -> 2 # 'i' occurs seven times and 's' occurs twice
"aA11" -> 2 # 'a' and '1'
"ABBA" -> 2 # 'A' and 'B' each occur twice

Bạn cần viết một function để đếm số character bị trùng trong chuỗi ( hint chuyển chuỗi về hết lower case).

Simple Pig Latin

Move the first letter of each word to the end of it, then add "ay" to the end of the word. 
Leave punctuation marks untouched.

Examples
Kata.PigIt("Pig latin is cool"); // igPay atinlay siay oolcay
Kata.PigIt("Hello world !");     // elloHay orldway !

Chuyển character đầu xuống cuối và cộng thêm "ay" vào phía sau.

Two to One

Take 2 strings s1 and s2 including only letters from ato z. 
Return a new sorted string, the longest possible, containing distinct letters,

each taken only once - coming from s1 or s2. 

#Examples: 

a = "xyaabbbccccdefww" b = "xxxxyyyyabklmopq" longest(a, b) -> "abcdefklmopqwxy"
a = "abcdefghijklmnopqrstuvwxyz" longest(a, a) -> "abcdefghijklmnopqrstuvwxyz" ```

Gộp 2 chuỗi lại và lấy chuỗi mới đã được sort và xóa character lặp lại. Ví dụ "aab" ~> "ab"

Highest Scoring Word

Given a string of words, you need to find the highest scoring word.

Each letter of a word scores points according to it's position in the alphabet: a = 1, b = 2, c = 3 etc.

You need to return the highest scoring word as a string.

If two words score the same, return the word that appears earliest in the original string.

All letters will be lowercase and all inputs will be valid.

Example: "man i need a taxi up to ubud" ~> "taxi"

Lấy chuỗi con có giá trị cao nhất ( giá trị dựa theo kí tự bên trong chuỗi: a = 1, b = 2 ...

Solution

Highest Scoring Word

return s.Split(' ').ToList().Where(x => x.Sum(c =>(int)c%32) == 
s.Split(' ').ToList().Max(e => e.Sum(c => (int)c % 32))).Select(x =>x).FirstOrDefault(); 

Two to One

return string.Join("", (s1 + s2).Distinct().OrderBy(x => x));

Simple Pig Latin

return string.Join(" ",str.Split(' ').ToList().Select(x =>
x.Substring(1, x.Length-1) + x.Substring(0, 1)+ "ay"));

Counting Duplicates

return str.ToLower().GroupBy(x => x).GroupBy(g => g.Count() > 1).Count();
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Rice

11 bài viết.
26 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
15 8
Sản phẩm sau khi làm http://coffeetube.herokuapp.com/ Yêu cầu Nói chung thì giờ download nhạc từ youtube thì nó có vô số cách rồi. Nhưng tự mình...
Rice viết gần 2 năm trước
15 8
White
9 4
Trước giờ logic code của mình vẫn luôn dễ dãi như gái làng chơi nên đôi khi nó đã support thêm cho mình cái đức tính càng lúc càng không (thèm) kiê...
Rice viết gần 2 năm trước
9 4
White
7 4
Description Mình là một thằng thích đọc sách. Nhưng lúc nào cũng bận (lười) nên cũng mấy tháng rồi chưa hoàn thành được quyển sách nào. Mình đa số...
Rice viết hơn 1 năm trước
7 4
Bài viết liên quan
White
0 0
Mình khá là lười, nên mình sẽ không đưa định nghĩa hay usage của reflection vào đây. Vì dù sao mình cũng sẽ chỉ copy thôi :smile:. Vậy nên chúng ta...
Rice viết gần 2 năm trước
0 0
White
1 0
Mã C trình bao bọc API 2captcha. Để hiểu rõ hơn về cách sử dụng dịch vụ 2captcha, bạn có thể đọc bài “Python cầu nối giúp giải mã reCaptcha v2.0 b...
Alex viết 9 tháng trước
1 0
White
26 4
Tạo dummy data với Faker và Mockaroo – Xa rồi những ngày nhập tay nhàm chán Cuộc đời một thằng developer có rất nhiều việc rất chán nhưng phải làm...
Huy Hoàng Phạm viết gần 5 năm trước
26 4
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
11 bài viết.
26 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!